我有一个像这样的部分
<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“?
发布于 2010-10-08 18:35:39
您可以使用GetType(string typename)方法。例如:
string type = GetMySectionType(); // "Namespace.MyClass, AssemblyName"
Type myType = Type.GetType(type);
var myObj = (MyClass)Activator.CreateInstance(myType);有关详细信息,请参阅this page。
https://stackoverflow.com/questions/3889245
复制相似问题