2012-05-08 53 views
0

我正在項目中獲取有關發佈者的一些信息。在主窗口的活動我有這行代碼:在另一個類中獲取屬性值

builder.AddCustomAttributes(typeof(IssuerActivity), new DesignerAttribute(typeof(IssuerDesigner))); 

所以我有一個IssuerDesigner,我在一個列表框把所有的發行人在他的構造器方法和我保存在髮卡機構[]所有這些。

現在,當我執行此重新託管工作流程,我需要發送此發行[]以IssuerActivity到在foreach任務大家他們的analized ...

問題是:¿有什麼我做的對於IssuerActivity獲取它在IssuerDesigner中分配的Issuer []?

回答

0

你的問題很難遵循,但我相信這是你正在尋找的。您必須在對象上使用Reflection才能獲取屬性值。它應該是這樣的。

 MemberInfo[] members = builder.GetType().GetProperties(); 
     foreach (MemberInfo m in members) 
     { 
      if (m.MemberType == MemberTypes.Property) 
      { 
       PropertyInfo p = m as PropertyInfo; 
       object[] attribs = p.GetCustomAttributes(false); 
       foreach (object attr in attribs) 
       { 
        IssuerDesigner d = attr as IssuerDesigner; 
        if (d != null) 
        { 

         foreach(object obj in d.Issuer) 
         { 
          DoSomething(obj); 
         } 
        } 
       } 
      } 
     } 
+0

謝謝MrWuf。我會盡力做到這一點 –