Pregunta

Estoy creando una biblioteca de C # y voy a exponer una interfaz COM a la misma.

Yo entiendo los pasos deberá añadir para ello, es decir,

  1. Asegúrese assumbly GUID se asigna, por ejemplo: [assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
  2. Asegúrese de atributo COMVibile es True
  3. Poner un atributo GUID de la clase, por ejemplo, [GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
  4. Registrar usando Regasm.

Mi pregunta es la siguiente. Si tengo definido una clase parcial. ¿Es necesario añadir el GuidAttribute a estas dos clases?

De hecho, pensando en esto, supongo que esta pregunta se aplica cualquiera que sea el atributo (por ejemplo Serializable).

Cualquier ayuda sería apreciada. Gracias.

¿Fue útil?

Solución

Si se aplica un atributo dos veces a la misma clase (no importa si es en el mismo archivo o en dos archivos diferentes), entonces la clase tendrá el atributo aplica dos veces. Una clase parcial definida en dos archivos no es de dos clases, es sólo una clase parcialmente definida en varios archivos. Por lo tanto, no, no repetir el GuidAttribute en cada archivo de nuevo.

Otros consejos

En tiempo de compilación, se fusionan atributos de las definiciones de tipo parcial. Por ejemplo, las siguientes declaraciones:

[System.SerializableAttribute]
partial class Moon { }

[System.ObsoleteAttribute]
partial class Moon { }

son equivalentes a:

[System.SerializableAttribute]
[System.ObsoleteAttribute]
class Moon { }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top