2011-08-19 21 views
0

我很難動態使用反射,例如。查詢.exe文件,而不需要爲每個希望查詢的程序集添加引用。使用反射動態查詢程序集

因此,舉例來說,下面的代碼是獲取類的一個常規方法,然後進行檢查。

AssemblyName assembly_name = new AssemblyName("Name"); 

問題是沒有將參數添加到代碼中,但代碼需要直接引用新組件來檢查。

歡迎任何建議。

+0

不知道你的「查詢」 –

+0

指的是我希望我的exe文件,以便能夠對不同的內置組件的這樣的查詢運行是指我的參數發送到選擇例如不同的組件。 – MaxSan

+0

請顯示一些代碼......你的目標究竟是什麼?什麼不工作?任何錯誤消息/異常? – Yahia

回答

0

我不太清楚「查詢」是什麼意思。如果你想知道如何使用反射創建從裝配的實例,這裏有一個例子:

// From within the current assembly 
public CartesianType CreateInstance(string fullyQualifiedClassName) 
{ 
    Assembly assembly = Assembly.GetExecutingAssembly(); 
    Type target = assembly.GetType(fullyQualifiedClassName, true, true); 

    return (CartesianType)Activator.CreateInstance(target); 
} 

// From an external assembly already referenced in your project 
public SomeClass CreateInstance(string fullyQualifiedClassName) 
{ 
    Assembly assembly = Assembly.GetAssembly(typeof(SomeClass)); 
    Type target = assembly.GetType(fullyQualifiedClassName, true, true); 

    return (SomeClass)Activator.CreateInstance(target); 
} 

其他所有方法必須使用LoadLoadFileLoadFrom

0

也許你正在尋找像Cecil。這是一個庫(在Windows和其他平臺上使用),它允許查詢的元數據,而不需要解決的所有引用。