2011-11-03 45 views
2

我必须从几个将包含多个属性的类创建pdf报告。 我需要在它前面显示属性值和标签。如何使用c#属性?

喜欢的东西:

detailsCalcul:
NÚMERO客户端:valueOfMyProperty。

...

我的想法做这样的:

[NomRapport("detailsCalcul")] 
public class MyClass 
{ 
    [NomChamp("Numero client")] 
    public string NumeroClient { get; set; } 
} 

我成功地acessed我的两个属性的值:

System.Reflection.MemberInfo[] proprietes = typeof(MyClass).GetMembers(); 
MyClass client = new MyClass(); 
client.NumeroClient = "1234"; 
     foreach (var p in proprietes) 
     { 
      var aa = p.GetCustomAttributes(true); 
      for (int i = 0; i < aa.Length; i++) 
      { 
       var test = aa[i]; 
       if (test.GetType() == typeof(NomChampAttribute)) 
       { 
        var nomChamp = ((NomChampAttribute)attributes[i]).ToString()); 
       } 
      } 
     } 

我想知道在我访问属性时是否可以访问我的财产的价值?

感谢您的帮助,

纪尧姆

+0

你必须通过变量p访问属性?您想做什么?。此外,GetCustomAttributes有一个重载类型使用,你不需要过滤自己 –

回答

4

来应用它的属性不知道的情况下;你甚至无法获得财产,更不用说实例了。但是,如果您有一个和的PropertyInfo实例,则:

object value = property.GetValue(instance, null); 
+0

谢谢!这就是我想要的! – Guigui