Udostępnij za pośrednictwem


CA1410: Metody rejestracji COM powinny być dopasowane

TypeName

ComRegistrationMethodsShouldBeMatched

CheckId

CA1410

Kategoria

Microsoft.Interoperability

Złamanie zmiany

Bez podziału

Przyczyna

Typ deklaruje metody, która jest oznaczone ComRegisterFunctionAttribute atrybut, ale nie deklaruje metody, która jest oznaczone ComUnregisterFunctionAttribute atrybutu, lub odwrotnie.

Opis reguły

Dla klientów systemu nazw domen (COM, Component Object Model) utworzyć .NET Framework typu, typu muszą być po raz pierwszy zarejestrowane.Jeśli jest dostępna, metoda, która jest oznaczona z ComRegisterFunctionAttribute atrybut nazywa się podczas procesu rejestracji na uruchomienie kodu określone przez użytkownika.Odpowiedniej metody, która jest oznaczone ComUnregisterFunctionAttribute atrybut nazywa się podczas procesu wyrejestrowania, aby odwrócić operacji metoda rejestracji.

Jak naprawić naruszenia

Aby rozwiązać problem naruszenie tej zasady, należy dodać odpowiadającej mu rejestracji lub metoda wyrejestrowania.

Kiedy do pomijania ostrzeżenia

Nie pomijaj ostrzeżenie od tej reguły.

Przykład

Poniższy przykład pokazuje typ, który narusza reguły.Kod w komentarzach zawiera poprawkę dotyczącą naruszenia.

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) {}
   }
}

Zasady pokrewne

CA1411: Metody rejestracji modelu COM nie powinny być widoczne

Zobacz też

Informacje

Regasm.exe (Narzędzie rejestracji zestawów)

RegistrationServices

Koncepcje

Rejestrowanie zestawów do użycia z modelem COM