我需要获取一个类型的实例,其名称和程序集名称将在运行时具有.我事先知道该类型将具有无参数构造函数.最简单的方法是什么?
这比我希望的那样难以实现.
编辑:我不是,如果这是相关的,但会引用程序集.我不需要从磁盘或其他东西加载它.
Type.GetType(string.Concat(typeName, ", ", assemblyName))
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx http://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname.aspx
来自MSDN:
Activator.CreateInstance方法(String,String)
使用命名的程序集和默认构造函数创建指定了其名称的类型的实例.
Run Code Online (Sandbox Code Playgroud)public static ObjectHandle CreateInstance( string assemblyName, string typeName )
例:
var assemblyName =
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
var typeName = "System.Net.WebClient";
var instance = Activator.CreateInstance(assemblyName, typeName).Unwrap();
Run Code Online (Sandbox Code Playgroud)