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