代码之家  ›  专栏  ›  技术社区  ›  gsharp

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

  •  0
  • gsharp  · 技术社区  · 14 年前

    我有一个像这样的分区

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

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

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   Edwin de Koning Umair Baig    14 年前

    您可以使用gettype(string typename)方法。例如:

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

    看见 this page 更多信息。