我正在尝试使用Type.GetType并传递"caLibClient.entity.Web2ImageEntity"完整的类名.caLibClient.entity是名称空间,位于分离的程序集(caLibClient)中,并添加到程序引用程序集列表中.当我从程序中调用它时,Type.GetType总是返回Null,这有什么问题?
dle*_*lev 25
您还需要添加程序集名称,因为您的类型不在执行程序集中(也不是mscorlib.)因此调用应该是:
var myType = Type.GetType("caLibClient.entity.Web2ImageEntity, FullAssemblyName");
Run Code Online (Sandbox Code Playgroud)
typeName
类型:System.String
要获取的类型的程序集限定名称.请参阅AssemblyQualifiedName.如果类型在当前正在执行的程序集中或在Mscorlib.dll中,则提供由其名称空间限定的类型名称就足够了.
从文档中AssemblyQualifiedName,这是一个示例名称:
TopNamespace.SubNameSpace.ContainingClass+NestedClass, MyAssembly, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089
Run Code Online (Sandbox Code Playgroud)
更新:如果您已经在项目中引用程序集,并且在编译时知道类型名称是什么,那么您最好说
Type myType = typeof(caLibClient.entity.Web2ImageEntity);
Run Code Online (Sandbox Code Playgroud)
因为现在你不需要在运行时搜索类型; 编译器会为你做一切.
| 归档时间: |
|
| 查看次数: |
23902 次 |
| 最近记录: |