プロパティに一連の属性を持つコード生成クラスがあります。これらのプロパティに属性を追加したいのですが、コードで生成されたクラスではできません。したがって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
誰かが私が間違っていることを見ることができますか?