【问题标题】:Reading from configSection attribute of type "Type"从“Type”类型的 configSection 属性中读取
【发布时间】:2010-10-08 09:22:55
【问题描述】:

我有一个这样的部分

<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);

我确信有更好的方法可以做到这一点,无需字符串拆分,但我在 google 中没有找到任何相关信息。

编辑: 框架中是否有一些内置的东西可以将类型作为“类型”而不做任何事情?

【问题讨论】:

    标签: c# .net web-config configsection


    【解决方案1】:

    您可以使用 GetType(string typename) 方法。比如这样:

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

    请参阅this page 了解更多信息。

    【讨论】:

    • 感谢您的提示。我的问题更多是关于类型是否必须是字符串?框架中是否有一些内置的东西可以将类型作为“类型”而不做任何事情?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2020-01-01
    • 2021-11-28
    • 2022-07-19
    • 2020-01-29
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多