Udostępnij za pośrednictwem


CA1409: Typy widoczne dla modelu COM powinny być możliwe do utworzenia

TypeName

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

Kategoria

Microsoft.Interoperability

Złamanie zmiany

Bez podziału

Przyczyna

Typ odwołania, które jest wyraźnie oznaczony jako widocznych na modelu COM (Component Object) zawiera publicznego konstruktora sparametryzowana, ale nie zawiera publicznego domyślnego (bezparametrowego) konstruktora.

Opis reguły

Przez klientów modelu COM, nie można utworzyć typ bez publicznego konstruktora domyślnego.Jednakże typ nadal jest możliwy przez klientów modelu COM, jeśli inny środek jest dostępny do utworzenia typu i przekazać je do klienta (na przykład poprzez wartość zwracaną przez wywołanie metody).

Reguła ignoruje typów, które są uzyskiwane z Delegate.

Domyślnie, widocznych na modelu COM są następujące: zestawów, typy publiczne, członków wystąpienia publicznego, w publicznych typów i wszystkich członków typów wartości publicznych.

Jak naprawić naruszenia

Aby naprawić naruszenie tej zasady, publicznego konstruktora domyślnego dodać lub usunąć ComVisibleAttribute z typu.

Kiedy do pomijania ostrzeżenia

Bezpiecznie pominąć ostrzeżenie od tej reguły, ile inne sposoby tworzenia i przekazać obiekt COM klienta.

Zasady pokrewne

CA1017: Oznacz zestawy za pomocą ComVisibleAttribute

Zobacz też

Koncepcje

Kwalifikowanie typów .NET do międzyoperacyjności

Inne zasoby

Współdziałanie z kodem niezarządzanym