2

ビューモデルに次のプロパティがあります。

[Display(Name ="Contractor Name")]
public string Name { get; set; }

このビューモデルをいろいろなところで使っているので、派生クラスによってプロパティの名前を「顧客名」「別の名前」などに変更したい。これは、正しい検証メッセージなどを取得するのに役立ちます。

派生クラスで Name プロパティをオーバーライドすることは可能ですか?

ありがとう

4

2 に答える 2

2

これは私にとってはうまくいきました。

public class PropertyTitle : DisplayNameAttribute
{
    public int _ID { get; set; }

    public PropertyTitle(int ID)
    {
        this._ID = ID;
    }

    public override string DisplayName
    {
        get
        {
            if(_ID == 1)
               return "1";
            else if(_ID == 1)
               return "2";
            return "";
        }
    }
}

public class TestModel
{
    [PropertyTitle(2)]
    public string MyTextField { get; set; }
}
于 2013-05-10T21:52:09.123 に答える
0

マーティンによるコメントは目的を果たしました。

はい、可能です。私はそれをしました。派生クラスでは、Name プロパティをオーバーライドして、別の注釈属性を与えるだけです。– マーティン・スミス

ありがとう

于 2013-05-15T16:25:01.360 に答える