特殊对象类型的获取(Type.GetType)
2009-02-05 21:10
253 查看
一般,我们获取对象的类型有以下几种方法:
string vTypeName = "System.Int32";
Type vType = Type.GetType(vTypeName);
Type vType1 = typeof(int);
但是当动态加载一个程序集,并把这个程序集用到另外一个程序集中时,结果会有所出入。
Assembly vAssembly = Assembly.LoadFile(vDllFileName);
其中自定义了一个数据类型为[tempuri.org.LinearRing]
如果我们直接通过Type.GetType("tempuri.org.LinearRing"),将获取不到数据。
必须使用以下方法:
Type vType2 = vAssembly.GetType("tempuri.org.LinearRing");
string vTypeString = string.Format("System.Collections.Generic.List`1[[{0}]]", vType2 .AssemblyQualifiedName);//关键就是这句,包含了动态链接库信息,否则即使用vType2.FullName也获取不到类型信息
Type vType3 = pAssembly.GetType(vTypeString);
string vTypeName = "System.Int32";
Type vType = Type.GetType(vTypeName);
Type vType1 = typeof(int);
但是当动态加载一个程序集,并把这个程序集用到另外一个程序集中时,结果会有所出入。
Assembly vAssembly = Assembly.LoadFile(vDllFileName);
其中自定义了一个数据类型为[tempuri.org.LinearRing]
如果我们直接通过Type.GetType("tempuri.org.LinearRing"),将获取不到数据。
必须使用以下方法:
Type vType2 = vAssembly.GetType("tempuri.org.LinearRing");
string vTypeString = string.Format("System.Collections.Generic.List`1[[{0}]]", vType2 .AssemblyQualifiedName);//关键就是这句,包含了动态链接库信息,否则即使用vType2.FullName也获取不到类型信息
Type vType3 = pAssembly.GetType(vTypeString);
相关文章推荐
- 值类型与引用类型(特殊的string) Typeof和GetType() 静态和非静态使用 参数传递 相关知识
- .net core中使用Type.GetType()从字符串获取类型遇到的问题
- C# Object.GetType()获取对象的类类型/获取类的类型
- C++通过typeinfo获取对象类型.cpp
- Jack's Notes11——打地鼠(forin遍历、type获取节点对象的类型)
- typeof和GetType()获取Type类型
- Java获取文件类型Mime Type的各种方法
- PHP获取变量的类型(gettype和settype)及类型判断
- C#泛型、反射-根据对象名获取该类型以及其属性
- C# Type.GetConstructor() 根据构造函数参数获取实例对象(一)
- Gson通过借助TypeToken获取泛型参数的类型的方法
- 使用dynamic获取类型可变的json对象
- 使用GetType()进行类型比较和使用typeof()获取类型
- C++运行时获取类型信息的type_info类与bad_typeid异常
- java获取对象属性类型、属性名称、属性值
- 分享一段C#反射代码-[Type是反射的入口]--[查看类型信息]--[动态生成对象]
- .net 获取类型的Type类型的几种方法
- 获取文件的mine type类型
- js中判断一个对象的类型的方法typeof/constructor/instanceof
- 获取驱动器类型信息 GetDriveType