由于各种原因,我需要在C#中实现一个类型缓存机制。幸运的是,CLR 提供了 Type.GUID
来唯一标识一个类型。不幸的是,我找不到任何方法来查找基于此 GUID 的类型。有 Type.GetTypeFromCLSID()
但根据我对文档(和实验)的理解,它做了一些非常非常不同的事情。
除了遍历所有加载的类型并与它们的 GUID 进行比较之外,还有什么方法可以根据其 GUID 获取类型?
编辑:我忘了说我真的很喜欢固定宽度的“类型指纹”,这就是 GUID 如此吸引我的原因。当然,在一般情况下,类型的完全限定名称是可行的。
最佳答案
为什么不为此使用指定的属性,即。 AssemblyQualifiedName ?此属性记录为“可以保留并稍后用于加载类型”。
GUID 用于 COM 互操作。
关于c# - 从 GUID 获取类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045947/