如何在部分类的另一半中定义的属性上使用属性?

时间:2012-04-16 12:56:52

标签: c# asp.net-mvc attributes partial-classes

我有一个自动生成的类来导入包含类似(缩写):

之类的Web服务
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate 
{
    get 
    {
        return this.StartDateField;
    }
    set { /* implementation prop changed */ }
}

我想为此成员添加MVC格式属性。所以在另一个包含相同partial class定义的文件中,我想做类似以下的事情(这是非法的):

[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public DateTime StartDate;

部分方法在这里没有用,因为部分方法必须是私有的,具有void返回类型,必须是方法等等。

我该如何装饰这个成员?

1 个答案:

答案 0 :(得分:10)

您可以使用MetadataType这样的属性:

[MetadataType(typeof(MyClass_Validation))]     
public partial class MyClass
{} 

public class MyClass_Validation     
{     
   [DisplayFormat(...)] 
   public DateTime StartDate { get; set; } 
}