2013-02-17 14 views

Odpowiedz

8

To nie działa, ponieważ zagnieżdżone typy nie są uważane Public, są one uważane za NestedPublic zamiast.

Z IsPublic() MSDN documentation:

Nie używać zagnieżdżonych typów; zamiast tego użyj IsNestedPublic.

+0

Związana właściwość to 'IsVisible'. Zwraca wartość true, jeśli klasa (lub struct, interface, enum, delegate type) jest jawna, a wszystkie zewnętrzne (zawierające) typy są również publiczne. Tak więc dla klas niezagnieżdżonych jest to 'IsPublic', a dla typów zagnieżdżonych jest to' IsNestedPublic' w połączeniu z 'IsNestedPublic' dla wszystkich klas zewnętrznych i' IsPublic' dla najbardziej zewnętrznej klasy. –

+0

Należy zauważyć, że klasa 'protected', która znajduje się wewnątrz klasy' public' jest również "widoczna" w pewnym sensie, nawet jeśli właściwość 'IsVisible', o której wspomniałem wcześniej, zwraca wartość false. Przykład: ['TypeConverter + SimplePropertyDescriptor'] (http://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter.simplepropertydescriptor.aspx) –

Powiązane problemy