Sdílet prostřednictvím


CA1411: Metody registrace modelu COM by neměly být viditelné

Název_typu

ComRegistrationMethodsShouldNotBeVisible

CheckId

CA1411

Kategorie

Microsoft.interoperability

Změnit rozdělení

Rozdělení

Příčina

Metoda, která je označena ComRegisterFunctionAttribute nebo ComUnregisterFunctionAttribute je atribut externě viditelné.

Popis pravidla

Při sestavení registraci pomocí modelu COM (Component Object), přidány položky registru pro každý typ COM viditelné v sestavení.Metody, které jsou označeny ComRegisterFunctionAttribute a ComUnregisterFunctionAttribute atributy jsou označovány během procesu registrace a zrušení registrace, spuštění uživatelského kódu specifické pro registrace/zrušení registrace těchto typů.Tento kód by nebyla volána mimo tyto procesy.

Jak opravit porušení

Porušení tohoto pravidla opravit, změnit usnadnění metody private nebo internal (Friend v Visual Basic).

Při potlačení upozornění

Nepotlačovat upozornění od tohoto pravidla.

Příklad

Následující příklad ukazuje dva způsoby, které porušují pravidla.

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

Souvisejících pravidel

CA1410: Metody registrace modelu COM by si měly odpovídat

Viz také

Referenční dokumentace

Regasm.exe (nástroj registrace sestavení)

RegistrationServices

Koncepty

Registrování sestav pomocí modelu COM