I have an autogenerated class from importing a web service containing something like this (abbreviated):
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate
{
get
{
return this.StartDateField;
}
set { /* implementation prop changed */ }
}
And I want to add an MVC format attribute to this member. So in another file containing the same partial class
definition, I would like to do something like the following (which is illegal):
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate;
A partial method is of no use here because partial methods must be private, have void return type, must be a method etc etc.
How can I decorate this member?
You could use MetadataType
attribute like this:
[MetadataType(typeof(MyClass_Validation))]
public partial class MyClass
{}
public class MyClass_Validation
{
[DisplayFormat(...)]
public DateTime StartDate { get; set; }
}
来源:https://stackoverflow.com/questions/10174519/how-can-i-use-attributes-on-a-property-defined-in-the-other-half-of-a-partial-cl