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