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.

CA1017: Označte sestavení pomocí atributu ComVisibleAttribute

Viz také