M. *_*ley 14 .net reflection types version
传入的程序集限定名称是否可以指定与实际加载的DLL版本不同的Type
通道?如果是这样,那么行为是什么?Type.GetType()
GetType()
Version
GetType()
Type
无论程序集是什么版本,我都希望从程序集中获取.我有一个函数,它获取一个程序集限定的名称作为参数:
Type someType = Type.GetType(someName);
Run Code Online (Sandbox Code Playgroud)
该someName
值对应于Type
我想要获取的值,但它可能与Version
我的应用程序中加载的值不同.
小智 10
我成功地使用了这个:
Type type = Type.GetType(typeName, AssemblyResolver, null);
private static System.Reflection.Assembly AssemblyResolver(System.Reflection.AssemblyName assemblyName)
{
assemblyName.Version = null;
return System.Reflection.Assembly.Load(assemblyName);
}
Run Code Online (Sandbox Code Playgroud)
在测试中,我发现GetType()
即使当前加载的程序集版本与程序集限定名称字段中的值不匹配,也会返回正确的类型Version
。