6
誰かがASP.NET MVC 2プレビュー1でバディクラスの例を持っていますか?私はそれについてMSDN上で何かを見つけることができないようだが、ScottGuによると、最新のリリースでその機能を追加しました。ASP.NET MVC V2 - バディクラス
誰かがASP.NET MVC 2プレビュー1でバディクラスの例を持っていますか?私はそれについてMSDN上で何かを見つけることができないようだが、ScottGuによると、最新のリリースでその機能を追加しました。ASP.NET MVC V2 - バディクラス
あなたが探しているのは、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; }
}
ありがとうございます!それがまさに私が必要としていたものです。 :) –
クラスを分けるポイントは何ですか? – UpTheCreek
EFやLINQ2SQLから自動生成されたクラスを処理するのは醜い回避策なので、あまり「ポイント」ではありません。クラスファイルが生成されるので、プロパティに属性を適用する方法がないため、ハッキーな代替が作成されました。 –