Udostępnij za pośrednictwem


CA1411: Metody rejestracji modelu COM nie powinny być widoczne

TypeName

ComRegistrationMethodsShouldNotBeVisible

CheckId

CA1411

Kategoria

Microsoft.Interoperability

Złamanie zmiany

Złamanie

Przyczyna

Metoda, która jest oznaczona z ComRegisterFunctionAttribute lub ComUnregisterFunctionAttribute atrybut jest widoczne z zewnątrz.

Opis reguły

Gdy zestaw jest zarejestrowany z modelu COM (Component Object), wpisy są dodawane do rejestru dla każdego typu COM widoczne w zestawie.Metody, które są oznaczone ComRegisterFunctionAttribute i ComUnregisterFunctionAttribute atrybuty są nazywane podczas procesu rejestracji i wyrejestrowania z odpowiednio, aby uruchomić kod użytkownika, który jest specyficzne dla rejestrowania/wyrejestrowania z tych typów.Nie należy wywoływać ten kod poza te procesy.

Jak naprawić naruszenia

Aby naprawić naruszenie tej zasady, zmienić dostępność metody do private lub internal (Friend w Visual Basic).

Kiedy do pomijania ostrzeżenia

Nie pomijaj ostrzeżenie od tej reguły.

Przykład

W poniższym przykładzie przedstawiono dwie metody, które naruszają reguły.

Imports System
Imports System.Runtime.InteropServices

<Assembly: ComVisibleAttribute(True)>
Namespace InteroperabilityLibrary

   Public Class ClassToRegister
   End Class 

   Public Class ComRegistration

      <ComRegisterFunctionAttribute> _ 
      Public Shared Sub RegisterFunction(typeToRegister As Type)
      End Sub

      <ComUnregisterFunctionAttribute> _ 
      Public 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]
      public static void RegisterFunction(Type typeToRegister) {}

      [ComUnregisterFunction]
      public static void UnregisterFunction(Type typeToRegister) {}
   }
}

Zasady pokrewne

CA1410: Metody rejestracji COM powinny być dopasowane

Zobacz też

Informacje

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

RegistrationServices

Koncepcje

Rejestrowanie zestawów do użycia z modelem COM