1. ホーム
  2. c#

[解決済み] 部分クラスでプロパティを定義し、それを別の部分クラスで属性でマークすることは可能ですか?

2023-03-14 14:48:21

質問

このような生成されたコードファイルを持つ方法はありますか?

public partial class A 
{
    public string a { get; set; }
}

と書いて、別のファイルに

public partial class A 
{
    [Attribute("etc")]
    public string a { get; set; }
}

データベースから生成されたクラスを、生成されないファイルを使ってマークアップすることができるように?

どのように解決するのですか?

Scott Guthrie の記事で、このようなことが行われているのを見たことがあります(その最後のほう) - 自分では試していませんが。

http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

[MetadataType(typeof(Person_Validation))]
public partial class Person
{
    // Partial class compiled with code produced by VS designer
}

[Bind(Exclude="ID")]
public class Person_Validation
{
    [Required(ErrorMessage = "First Name Required")]
    [StringLength(50, ErrorMessage = "Must be under 50 characters")]
    public string FirstName { get; set; }

    [Required(ErrorMessage = "Last Name Required")]
    [StringLength(50, ErrorMessage = "Must be under 50 characters")]
    public string LastName { get; set; }

    [Required(ErrorMessage = "Age Required")]
    [Range(0, 120, ErrorMessage = "Age must be between 0 and 120")]
    public int Age { get; set; }

    [Required(ErrorMessage = "Email Required")]
    [Email(ErrorMessage = "Not a valid email")]
    public string Email { get; set; }
}