Question

Je crée une bibliothèque C # et je vais exposer une interface COM à elle.

Je comprends les étapes requried pour ce faire, à savoir

  1. Assurez-GUID assumbly est attribué, par exemple: [assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
  2. Assurez-attribut COMVibile est vrai
  3. Mettez un attribut GUID de la classe, par exemple [GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
  4. Inscrivez-vous avec Regasm.

Ma question est la suivante. Si j'ai une classe partielle définie. Ai-je besoin d'ajouter le GuidAttribute à ces deux catégories?

En fait, en pensant à cela, je devine cette question s'applique quel que soit l'attribut (par exemple Serializable).

Toute aide serait appréciée. Merci.

Était-ce utile?

La solution

Si vous appliquez un attribut deux fois à la même classe (peu importe si dans le même fichier ou dans deux fichiers différents), la classe aura l'attribut appliqué deux fois. Une classe partielle définie dans deux fichiers ne sont pas deux classes, il est juste une classe partiellement définie dans plusieurs fichiers. Donc, non, ne pas répéter le GuidAttribute dans chaque fichier.

Autres conseils

Au moment de la compilation, les attributs des définitions de type partiel sont fusionnées. Par exemple, les déclarations suivantes:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

sont équivalentes à:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top