1

我想在任何属性的显示属性中动态地赋予 name 属性。

考试:

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

在该属性中,我想动态赋予 name 属性意味着“测试”,并且该值将来自数据库。那么如何在生成属性时在显示属性中动态赋予 name 属性?任何人都可以帮我找出解决方案吗?

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 回答