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