6

ASP.NET MVC 2 Preview 1 のバディ クラスの例はありますか? MSDN でそれについて何も見つけられないようですが、ScottGuによると、最新のリリースで機能が追加されています。

4

1 に答える 1

10

あなたが探しているのは MetadataTypeAttribute だと思います。これは MVC に固有のものではありませんが、3.5 で導入された DataAnnotations 名前空間の一部です。クラス自体の外部にある部分クラスのメンバーを装飾できます。

たとえば、Customer という名前の生成された部分クラス タイプがあり、それに属性を追加したい場合、同じ名前空間に新しい部分クラスを作成し、MetadataType でタグ付けすることができます。次に、属性が一致する Metadata クラスを作成し、それらを装飾します。

/* 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; }
}
于 2009-08-07T16:27:23.413 に答える