How can I use attributes on a property defined in

2019-02-22 09:07发布

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?

1条回答
叼着烟拽天下
2楼-- · 2019-02-22 09:35

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; } 
}
查看更多
登录 后发表回答