Vous pouvez jeter un oeil à la classe ComVisibleAttribute pour en savoir plus sur les façons de faire des classes gérées disponibles au code non managé.
[Guid] est l'équivalent exact du .NET Type.AssemblyQualifiedName. Comme
System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5561934e089
Avec la distinction évidente que le nom de type .NET est plus facile à lire par un être humain. Il est nécessaire de permettre à un programme de découvrir quelle DLL doit être chargée pour utiliser un type. Dans le cas .NET, les assemblages sont (généralement) trouvés en énumérant le GAC. C'est un fichier basé.
COM utilise cependant le Registre. Après que l'assembly dont vous avez regardé le code source a été créé et enregistré, vous pouvez retrouver le [Guid] dans le registre. Lancez regedit.exe et naviguez jusqu'à HKLM\Software\Classes\CLSID\{guid}
. Vous verrez les valeurs de clé d'enregistrement que le moteur d'exécution utilise pour charger le CLR et l'assembly.
Cela ressemble-t-il à ceci? http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.guidattribute.aspx – Tx3
Oui, ça ressemble à ça. Y a-t-il une différence entre Guid et GuidAttribute? – Andrei
Lorsque vous appliquez un attribut en utilisant "[]", vous pouvez laisser l'attribut "Attribute" à la fin du nom du type. Il suppose qu'il est là. En tant que tels, ils sont identiques. – Rangoric