2010-10-08 53 views
0

configSection屬性閱讀我寫這樣的從類型「類型」

<mySection type="Namespace.MyClass, AssemblyName" /> 
在我的代碼

我需要創建MyClass的實例的部分,所以我做的是類似的東西:

string type = GetMySectionType(); // "Namespace.MyClass, AssemblyName" 

var typeParts = type.Split(','); 
var className = typeParts[0].Trim(); 
var assemblyName = typeParts[1].Trim(); 
var assembly = Assembly.Load(assemblyName); 
var myObj = (MyClass)assembly.CreateInstance(className); 

我確定有更好的方法來做到這一點,沒有字符串分裂,但我沒有在谷歌找到任何關於它。

編輯: 是否有一些東西從框架中得到的類型爲「Type」而沒有做任何事情?

回答

1

您可以使用GetType(string typename)方法。例如像這樣:

string type = GetMySectionType(); // "Namespace.MyClass, AssemblyName" 
Type myType = Type.GetType(type); 
var myObj = (MyClass)Activator.CreateInstance(myType); 

請參閱this page瞭解更多信息。

+0

謝謝你的提示。我的問題更多是關於類型是否必須是字符串?有沒有從框架中獲得類型爲「Type」的東西而不做任何事情? – gsharp 2010-10-08 17:40:50