CA1409: Viditelné typy modelu COM by měly být vytvořitelné
Zboží | Hodnota |
---|---|
RuleId | CA1409 |
Kategorie | Microsoft.Interoperability |
Změna způsobující chybu | Nenarušující |
Příčina
Odkazový typ, který je speciálně označen jako viditelný pro model COM (Component Object Model) obsahuje veřejný parametrizovaný konstruktor, ale neobsahuje veřejný výchozí (bez parametrů) konstruktor.
Popis pravidla
Typ bez veřejného výchozího konstruktoru nelze vytvořit klienty MODELU COM. Pokud je však pro vytvoření typu k dispozici jiný způsob vytvoření typu a jeho předání klientovi (například návratovou hodnotou volání metody), může k němu přistupovat klient.
Pravidlo ignoruje typy odvozené od System.Delegate.
Ve výchozím nastavení jsou pro objekt COM viditelné následující položky: sestavení, veřejné typy, členy veřejné instance ve veřejných typech a všechny členy veřejných hodnot.
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla, přidejte veřejný výchozí konstruktor nebo odeberte System.Runtime.InteropServices.ComVisibleAttribute typ.
Kdy potlačit upozornění
Je bezpečné potlačit upozornění z tohoto pravidla, pokud jsou k dispozici jiné způsoby vytvoření a předání objektu klientovi modelu COM.
Související pravidla
CA1017: Označte sestavení pomocí atributu ComVisibleAttribute
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