我有一个代码生成的类,它具有一组属性。我想为这些属性添加额外的属性,但我不能在代码生成的类上这样做。因此,我使用MetadataTypeAttribute
来装饰辅助类的附加属性;
// Code generated class - can't touch this
public partial class MyClass
{
public MyType MyProperty { get; set; }
}
// Partial class allowing extended attributes
[MetadataType(typeof(MyClass_AdditionalAttributes))]
public partial class MyClass
{
}
// Defines extra attributes to be appended to
// properties that match in the partial class
public class MyClass_AdditionalAttributes
{
// Do not serialise the MyProperty property
[XmlIgnore]
public MyType MyProperty;
}
但是,这不起作用。使用 .NET 反射器,XmlIgnoreAttribute
不装饰MyClass.MyProperty
属性。谁能看到我做错了什么?