Compartir a través de


Se deben poder crear tipos visibles para COM

Actualización: noviembre 2007

Nombre de tipo

ComVisibleTypesShouldBeCreatable

Identificador de comprobación

CA1409

Categoría

Microsoft.Interoperability

Cambio problemático

No problemático

Motivo

Un tipo de referencia marcado específicamente como visible para COM contiene un constructor parametrizado público pero no contiene un constructor (sin parámetros) predeterminado público.

Descripción de la regla

Un tipo sin un constructor predeterminado público no se puede crear mediante clientes COM. Sin embargo, los clientes COM pueden obtener acceso al tipo si está disponible otro medio para crear el tipo y pasarlo al cliente, por ejemplo, mediante el valor que se devuelve al llamar a un método.

La regla omite tipos derivados de System.Delegate.

De manera predeterminada, son visibles para COM: ensamblados, tipos públicos, miembros de instancia públicos de tipos públicos y todos los miembros de tipos de valor públicos.

Cómo corregir infracciones

Para corregir una infracción de esta regla, agregue un constructor predeterminado público o quite System.Runtime.InteropServices.ComVisibleAttribute del tipo.

Cuándo suprimir advertencias

Es seguro suprimir una advertencia de esta regla si se proporcionan otras formas de crear y pasar el objeto al cliente COM.

Reglas relacionadas

Marcar los ensamblados con ComVisibleAttribute

Vea también

Conceptos

Habilitar tipos de .NET para la interoperación

Otros recursos

Interoperar con código no administrado