Istnieje osiem różnych wartości wyliczeniowych dla System.Reflection.MemberTypes. Pięć map bezpośrednio do określonych klas MemberInfo (ConstructorInfo, MemberInfo, itp.). Typ MemberTypes.NestedType może być traktowany jako typ, a nie element MemberInfo. Próbuję uzyskać głowę (1) MemberTypes.Custom i (2) MemberTypes.TypeInfo członków. Czy ktoś ma przykład takich członków?Przykład elementu MemberTypes.Custom i MemberTypes.TypeInfo
Odpowiedz
public class Foo
{
public class Bar { }
}
Poniższe dwie klasy będą prawdziwe.
typeof(Foo).MemberType == MemberTypes.TypeInfo
typeof(Foo.Bar).MemberType == MemberTypes.NestedType
Zarówno TypeInfo
i NestedType
wskazują, że mamy do czynienia z typem z rozróżnieniem, czy typ jest zagnieżdżony lub nie. Wartość wyliczeniowa TypeInfo
jest zgodna z konwencją nazewnictwa, podczas gdy rzeczywisty podtyp MemberInfo
to Type
. Z jednej strony Type
powinno być nazywane TypeInfo
, aby zachować konwencję nazewnictwa, z drugiej strony wydaje się nieco wątpliwe, czy Type
pochodzi od MemberInfo
w pierwszej kolejności. Ale tak właśnie jest. Być może członek w MemberInfo
powinien być lepiej zrozumiany jako element złożenia lub typu, a nie tylko członek typu.
Od .NET 4.5 istnieje nowa podklasa TypeInfo
dziedzicząca od Type
i dostępna za pomocą Type.GetTypeInfo()
extension method; zobacz tam dla rozróżnienia.
Nie jestem pewien co do MemberTypes.Custom
, ale patrząc na CLI specification, szczególnie II.10.2, może to być przypadek, który odnosi się do atrybutów niestandardowych lub innych niestandardowych danych związanych z typem. Patrząc na .NET reference source code nie zapewnia również dodatkowego wglądu.
- 1. Przykład NSOutlineView i NSTreeController
- 2. Eteracja - wyjaśnienie i przykład
- 3. Przykład "przeciągnij i upuść"?
- 4. jQuery i history.js przykład
- 5. Przykład makiety RSpec Przykład
- 6. Przykład waitpid, WNOHANG i SIGCHLD
- 7. Prosty przykład intencji i pakietu
- 8. Python wątków i kolejka przykład
- 9. Wysyłanie zapytania i pełny przykład:
- 10. Bariera pamięci i przykład java.util.concurrent.locks.Condition
- 11. CL i SWIG: przykład pracy?
- 12. Przykład i samouczek SlickGrid i asp.net
- 13. przykład
- 14. Przykład wykresu kołowego JasperReport Przykład
- 15. Przykład faktoryzacji macierzy sklearn przykład
- 16. Sieve of Atkin - Wyjaśnienie i przykład Javy
- 17. Testy log4net i nunit, najbardziej podstawowy przykład:
- 18. Węzeł, Express, Ajax i Jade Przykład
- 19. wx haskell Przeciągnij i upuść przykład
- 20. przykład używa skalazu.Model modowy, modp i xmap
- 21. Przykład dostawcy zawartości i obserwatora zawartości?
- 22. Przykład Java z enkapsulacją, polimorfizmem i dziedziczeniem?
- 23. Przykład światowego formatu GraphQLInterfaceType i GraphQLUnionType
- 24. Przykład Squire.js z Jasmine i RequireJS
- 25. Funkcja specjalizacja szablonu i przykład Abrahams/Dimov
- 26. Przykład Bubbling i przechwytywania w React.js
- 27. TPL Dataflow i Rx Łączony przykład
- 28. Przykład transformacji Router v4 Animowany przykład
- 29. Json Schema Przykład dla patternProperties
- 30. WeakHashMap przykład
Dla TypeInfo - czy zdałeś sobie sprawę, że 'System.Type: System.Reflection.MemberInfo'? –