2011-08-30 8 views
1

모든 속성의 표시 속성에서 name 속성을 동적으로 지정하려고합니다. 시험silverlight의 표시 속성에서 name 속성을 동적으로 설정하는 방법 4

:

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

내가 이름 속성을 부여하려면 해당 속성에 동적으로 "테스트"를 의미하고 값 것이다 데이터베이스에서 온다. 그래서 속성을 생성하는 동안 display 속성에서 name 속성을 동적으로 제공 할 수 있습니까? 해결책을 찾는데 도와 줄 수있는 사람이 있습니까?

+0

을 당신은 클래스의 모든 인스턴스에 대한 표시 이름을 수정하려면? – AnthonyWJones

+0

내 엔터티 클래스의 모든 속성에 대해 예. –

답변

5

이 시도 :

[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"; 
}