也許這個問題讓你迷惑,但請幫我如何取消引用類型的對象轉換爲實際的對象
在.NET 4.0中,C#語言
我有兩個項目,一個是圖書館爲類定義類和屬性標記infors,其中一個是處理從庫中聲明的類的反射的項目。
問題是,沒有引用庫,我只是使用反射相關的類來讀取程序集,我必須獲得在對象類中聲明的屬性的值。
例如
---在LIB項目,名爲lib.dll
public class MarkAttribute: Attribute
{
public string A{get;set;}
public string B{get;set;}
}
[Mark(A="Hello" B="World")]
public class Data
{
}
---反射項目
public void DoIt()
{
string TypeName="Lib.Data";
var asm=Assembly.LoadFrom("lib.dll");
foreach (var x in asm.GetTypes())
{
if (x.GetType().Name=="Data")
{
var obj=x.GetType().GetCustomAttributes(false);
//now if i make reference to lib.dll in the usual way , it is ok
var mark=(Lib.MarkAttribute)obj;
var a=obj.A ;
var b=obj.B ;
//but if i do not make that ref
//how can i get A,B value
}
}
}
任何想法讚賞
它的工作,我卡在getType,我差點忘了getProperty方法,它很糟糕 – simpleman 2011-06-09 06:25:45