2012-07-30 12 views
20

że mam klasa tak:Uzyskaj typ kontenera dla typu zagnieżdżonego użyciu odbicia

public class Test { 
    public class InnerTest{} 
} 

Teraz mają TypeInfo obiekt dla InnerTest. Jak mogę znaleźć obiekt TypeInfo dla testu z InnerTest?

Na odwrót jest prosty, mogę po prostu użyć GetNestedTypes(), ale nie mogę znaleźć metody lub właściwości (innej niż IsNestedType), aby dowiedzieć się, zawierającą klasę dla zagnieżdżonej klasy.

Odpowiedz

28

Można to uzyskać, pobierając właściwość "Typ deklaracji".

Cytowanie MSDN:

Typu Przedmiotem reprezentującym typ obejmujących, jeśli bieżący typ to typ zagnieżdżone; lub ogólną definicję typu, jeśli bieżący typ jest parametrem typu ogólnego; lub typ deklarujący metodę ogólną, jeśli bieżący typ jest parametrem typu metody ogólnej; w przeciwnym razie wartość null.

http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx

+0

Takie proste rozwiązanie. I szukałem siebie w szaleństwie :) – jessehouwing

Powiązane problemy