从类型“类型”的configSection属性读取

时间:2010-10-08 09:22:55

标签: c# .net web-config 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 个答案:

答案 0 :(得分:1)

您可以使用GetType(字符串typename)方法。例如:

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

请参阅this page了解详情。