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

Zboží Hodnota
RuleId CA1410
Kategorie Microsoft.Interoperability
Změna způsobující chybu Nenarušující

Příčina

Typ deklaruje metodu označenou atributem System.Runtime.InteropServices.ComRegisterFunctionAttribute , ale nehlásí metodu označenou atributem System.Runtime.InteropServices.ComUnregisterFunctionAttribute nebo naopak.

Popis pravidla

Aby klienti modelu COM (Component Object Model) vytvořili typ .NET, musí být tento typ nejprve registrován. Pokud je k dispozici, volá se metoda označená atributem ComRegisterFunctionAttribute během procesu registrace ke spuštění uživatelem zadaného kódu. Odpovídající metoda označená atributem ComUnregisterFunctionAttribute je volána během procesu zrušení registrace k obrácení operací metody registrace.

Jak opravit porušení

Chcete-li opravit porušení tohoto pravidla, přidejte odpovídající metodu registrace nebo zrušení registrace.

Kdy potlačit upozornění

Nepotlačujte upozornění na toto pravidlo.

Příklad

Následující příklad ukazuje typ, který porušuje pravidlo. Komentářový kód ukazuje opravu porušení předpisů.

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

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

Viz také