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) {}
}
}
Související pravidla
CA1411: Metody registrace modelu COM by neměly být viditelné
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro