[英]Load Assembly and create class using Reflection
我找不到一種使用反射從給定類型和程序集定義創建類對象的方法。 就我而言,我有一個包含類和程序集名稱的字符串,需要創建該對象:
string str = "My.Assembly.Namesapce.MyClass, My.Assembly.Namesapce, Version=4.0.0.0, Culture=neutral, PublicKeyToken=84474dc3c6524430";
var objClass = --SOME CODE TO USE STR AND CREATE MyClass--
我試圖拆分並創建類,但這不是很好的方法。
Type type = Type.GetType(str);
object objClass = Activator.CreateInstance(type);
但是,要對對象執行任何有用的操作,您將必須使用公共接口/基類,反射或dynamic
。
注意:如果您可以將變量鍵入為MyClass objClass
,則當然是更簡單的版本:
MyClass objClass = new MyClass();
您需要做兩件事:
1)將您的字符串str
轉換為類型,然后2)創建該類型的實例。
string typeString = "My.Assembly.Namesapce.MyClass, My.Assembly.Namesapce, Version=4.0.0.0, Culture=neutral, PublicKeyToken=84474dc3c6524430";
// Get a reference to the type.
Type theType = Type.GetType(typeString, true, false);
// Create an instance of that type.
MyClass theInstance = (MyClass)Activator.CreateInstance(theType);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.