CA1410: os métodos de registro COM devem ser correspondentes
TypeName |
ComRegistrationMethodsShouldBeMatched |
CheckId |
CA1410 |
Categoria |
Microsoft.Interoperability |
Alteração Significativa |
Sem quebra |
Causa
Um tipo declara um método marcado com o atributo de ComRegisterFunctionAttribute mas não declara um método marcado com o atributo de ComUnregisterFunctionAttribute , ou vice-versa.
Descrição da Regra
Para que os clientes do Component Object Model (COM) para criar um tipo de .NET Framework , o tipo deve primeiro ser registrado.Se estiver disponível, um método marcado com o atributo de ComRegisterFunctionAttribute é chamado durante o processo de registro para executar código especificado pelo usuário.Um método de correspondência que é marcado com o atributo de ComUnregisterFunctionAttribute é chamado durante o processo de unregistration para inverter as operações do método do registro.
Como Corrigir Violações
Para corrigir uma violação desta regra, adicione o método de correspondência de registro ou de unregistration.
Quando Suprimir Alertas
Não elimine um alerta desta regra.
Exemplo
O exemplo a seguir mostra um tipo que viola a regra.O código a seguir mostra como comentário a correção da violação.
Imports System
Imports System.Runtime.InteropServices
<Assembly: ComVisibleAttribute(True)>
Namespace InteroperabilityLibrary
Public Class ClassToRegister
End Class
Public Class ComRegistration
<ComRegisterFunctionAttribute> _
Friend Shared Sub RegisterFunction(typeToRegister As Type)
End Sub
' <ComUnregisterFunctionAttribute> _
' Friend Shared Sub UnregisterFunction(typeToRegister As Type)
' End Sub
End Class
End Namespace
using System;
using System.Runtime.InteropServices;
[assembly: ComVisible(true)]
namespace InteroperabilityLibrary
{
public class ClassToRegister
{
}
public class ComRegistration
{
[ComRegisterFunction]
internal static void RegisterFunction(Type typeToRegister) {}
// [ComUnregisterFunction]
// internal static void UnregisterFunction(Type typeToRegister) {}
}
}
Regras Relacionadas
CA1411: os métodos de registro COM não devem estar visíveis
Consulte também
Referência
Regasm.exe (Ferramenta de Registro de Assembly)