Sdílet prostřednictvím


CA1409: Viditelné typy Com by mělo být možné vytvořit

TypeName

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

Kategorie

Microsoft.interoperability

Narušující změna

Nenarušující

Příčina

Odkazový typ, který je označen jako viditelný modulům COM obsahuje veřejný parametrizovaný konstruktor, ale neobsahuje veřejný výchozí konstruktor (bez parametrů).

Popis pravidla

Typ bez veřejného výchozího konstruktoru, nemůže být vytvořen klienty modulu COM.Avšak typ je stále přístupný klientům modulu COM, pokud jsou k dispozici jiné cesty, jak vytvořit typ a předat jej klientovi (například prostřednictvím návratové hodnoty nebo voláním metody).

Pravidlo ignoruje typy odvozené od System.Delegate.

Standardně jsou viditelné pro modul COM: sestavení, veřejné typy, členy veřejných instancí ve veřejných typech a všechny členy veřejných typů hodnot.

Jak vyřešit porušení

Porušení tohoto pravidla lze vyřešit přidáním výchozího veřejného konstruktoru nebo odstraněním System.Runtime.InteropServices.ComVisibleAttribute z typu.

Kdy potlačit upozornění

Je bezpečné potlačit upozornění tohoto pravidla, pokud jsou dostupné jiné způsoby pro vytvoření a předání objektu klientovi modulu COM.

Související pravidla

CA1017: Značka sestav s ComVisibleAttribute

Viz také

Koncepty

Kvalifikační.Typy sítí pro součinnost

Další zdroje

Spolupráce s nespravovaným kódem.