【发布时间】:2012-04-16 12:56:51
【问题描述】:
我有一个通过导入包含类似这样(缩写)的 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 返回类型,必须是方法等。
我该如何装饰这个成员?
【问题讨论】:
-
第二个代码 sn-p 是否应该定义您的第一个 sn-p 中的
StartDate属性使用的StartDateField? -
您应该使用
MetadataType属性和另一个镜像生成的类的类,而不是使用部分类来装饰生成的代码。 (Related Question) -
@M.Babcock:不,第二个 sn-p 与第一个同名。以这种方式为自动生成的类添加扩展是很常见的,但通常你只添加属性/方法,你不会重新定义它们(afaik,你不能)。
-
正确。这就是我的第二条评论所针对的内容。
-
看看这个,我已经在这里回答了这个问题stackoverflow.com/a/24757520/3050647
标签: c# asp.net-mvc attributes partial-classes