我最近选择了一些C#代码,其中一个类上面有一个Guid属性。我不明白这是什么或它用于什么。
有人可以给我一个简要介绍它的内容,或者只是指出一些提供更多相关信息的文章?
谢谢!
答案 0 :(得分:8)
它是表示相关类的COM标识符。该类是为COM互操作而设计的。
答案 1 :(得分:8)
您可能需要查看ComVisibleAttribute类,以了解有关使托管类可用于非托管代码的方法的更多信息。
[Guid]与.NET Type.AssemblyQualifiedName完全等效。像
System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5561934e089
明显的区别是.NET类型名称更容易被人类阅读。有必要允许程序发现需要加载哪些DLL才能使用类型。在.NET的情况下,通常通过枚举GAC找到程序集。它是基于文件的。
然而, COM使用注册表。在您看到的源代码构建和注册的程序集之后,您可以在注册表中找回[Guid]。启动regedit.exe并导航到HKLM\Software\Classes\CLSID\{guid}
。您将看到运行时用于加载CLR和程序集的注册键值。
答案 2 :(得分:7)
Guid(全球唯一标识符)用于识别外部世界的组件。当您编写将用作COM(组件对象模型)的项目时,您将必须提供唯一的名称。因此,您需要应用GUID属性。
您可以在此处详细了解。