c# - 从 GUID 获取类型

标签 c# .net reflection types

由于各种原因,我需要在C#中实现一个类型缓存机制。幸运的是,CLR 提供了 Type.GUID 来唯一标识一个类型。不幸的是,我找不到任何方法来查找基于此 GUID 的类型。有 Type.GetTypeFromCLSID() 但根据我对文档(和实验)的理解,它做了一些非常非常不同的事情。

除了遍历所有加载的类型并与它们的 GUID 进行比较之外,还有什么方法可以根据其 GUID 获取类型?

编辑:我忘了说我真的很喜欢固定宽度的“类型指纹”,这就是 GUID 如此吸引我的原因。当然,在一般情况下,类型的完全限定名称是可行的。

最佳答案

为什么不为此使用指定的属性,即。 AssemblyQualifiedName ?此属性记录为“可以保留并稍后用于加载类型”。

GUID 用于 COM 互操作。

关于c# - 从 GUID 获取类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045947/

相关文章:

c# - 如何设计通用搜索条件?

c# - 两个网格系统叠加的算法

c# - 找不到引用契约(Contract)的默认端点元素

.net - 如何加密字符串并获得等长的加密字符串?

.net - Entity Framework 使用 LEFT OUTER JOINS 生成错误的 SQL

java - 为什么 newInstance() 返回 null?

swift - 镜像未在 Swift 3 上获取基类

c# - 解析 XDocument c# 中的命名空间

java - Hibernate比NHibernate更糟吗?

c# - 使用 C# 和反射打印完整的对象图