代码之家  ›  专栏  ›  技术社区  ›  Alex

在c_中,类上方显示的guid属性是什么?

  •  16
  • Alex  · 技术社区  · 14 年前

    我最近收到了一些C代码,其中一个类上面有一个guid属性。我不明白这是什么,它是用来干什么的。

    有人能给我一份它是什么的概要吗,或者只是给我指出一些提供更多信息的文章的方向?

    谢谢!

    3 回复  |  直到 14 年前
        1
  •  8
  •   David Williams    14 年前

    它是表示相关类的COM标识符。该类是为COM互操作而设计的。

        2
  •  8
  •   Hans Passant    14 年前

    您可能需要查看ComVisibableAttribute类,以了解有关如何使托管类对非托管代码可用的更多信息。

    [guid]与.NET类型.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和程序集的注册键值。

        3
  •  7
  •   Ashif Nataliya    14 年前

    guid(全局唯一标识符)用于按外部世界标识组件。当您编写一个将用作COM(组件对象模型)的项目时,您必须给出一个唯一的名称。因此,您需要应用guid属性。

    你可以在这里了解更多。

    GUIDAttributeClass