Domanda

Sto creando una libreria C # e sto andando a esporre un'interfaccia COM ad esso.

Capisco i passi requried per fare questo, vale a dire

  1. Assicurarsi assumbly GUID è assegnato, per esempio: [assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
  2. Assicurarsi attributo COMVibile è True
  3. Mettere un attributo GUID sulla classe, per esempio [GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
  4. L'iscrizione avviene tramite Regasm.

La mia domanda è questa. Se ho una classe parziale definita. Devo aggiungere il GuidAttribute ad entrambe le classi?

In effetti, pensando a questo, sto cercando di indovinare questa domanda vale qualunque sia l'attributo (ad esempio Serializable).

Qualsiasi aiuto sarebbe apprezzato. Grazie.

È stato utile?

Soluzione

Se si applica un attributo due volte alla stessa classe (non importa se nello stesso file oppure in due file diversi) allora la classe avrà l'attributo applicato due volte. Una classe parziale definita in due file non è due classi, è solo una classe parzialmente definito in più file. Quindi, no, non ripetere il GuidAttribute in ogni file di nuovo.

Altri suggerimenti

Al momento della compilazione, gli attributi delle definizioni parziali di tipo vengono uniti. Ad esempio, le seguenti dichiarazioni:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

sono equivalenti a:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top