ASP.NET MVC V2 - Buddy Classes

我的未来我决定 提交于 2019-12-19 03:07:24

问题


Does anyone have an example of buddy classes in ASP.NET MVC 2 Preview 1? I can't seem to find anything on the MSDN about it but according to ScottGu they've added functionality for it in the most recent release.


回答1:


I believe what you're looking for is MetadataTypeAttribute. This isn't something that's specific to MVC but it part of the DataAnnotations namespace introduced in 3.5. It allows you to decorate members of a partial class external to the class itself.

For instance, if you had a generated partial class type named Customer and wanted to add attributes to it, you could create a new partial in the same namespace and tag it with the MetadataType. Then create the Metadata class with matching attributes and decorate them.

/* Generated class */
public partial class Customer
{ 
  public string Name { get; set; } 
}


/* MetadataType decorated class */
[MetadataType(CustomerMetadata)]
public partial class Customer
{ /* ... */ }


/* Metadata type */
public class CustomerMetadata
{
  [Required(ErrorMessage = "Name is required")]
  public string Name { get; set; }
}


来源:https://stackoverflow.com/questions/1245529/asp-net-mvc-v2-buddy-classes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!