1

任意のプロパティの表示属性で名前プロパティを動的に指定したいと思います。

試験のために:

    [Display(Name = "Test")]
    public bool Task1
    {
        get { return this.m_Task1; }
        set
        {
            if (value != this.m_Task1)
            {
                this.m_Task1 = value;
                NotifyPropertyChanged("TaskName");
            }
        }
    }

そのプロパティでは、名前プロパティに動的に「テスト」を意味し、その値はデータベースから取得されます。では、プロパティの生成中に、表示属性で名前プロパティを動的に指定するにはどうすればよいですか?誰かが私が解決策を見つけるのを手伝ってくれる?

4

1 に答える 1

7

これを試して:

[Display(Name = "Tu edad")]
public int Edad
{
  get { bla, bla...; }
  set { bla, bla...; }
}

public void ChangeEdad()
{
  var TheProperty =
    this.GetType().GetProperties().Where(x => x.Name == "Edad").FirstOrDefault();

  object TheAttribute = 
    TheProperty.GetCustomAttributes(typeof(DisplayAttribute), false)[0];

  DisplayAttribute DA = TheAttribute as DisplayAttribute;
  DA.Name = "Your Age";
}
于 2011-08-30T15:24:10.833 に答える