Type.GetNestedType Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy adott típust kap az aktuálisba Typeágyazva.
Túlterhelések
| Name | Description |
|---|---|
| GetNestedType(String) |
Megkeresi a megadott névvel rendelkező nyilvános beágyazott típust. |
| GetNestedType(String, BindingFlags) |
Ha egy származtatott osztályban felül van bírálva, a megadott kötési kényszerek használatával megkeresi a megadott beágyazott típust. |
GetNestedType(String)
Megkeresi a megadott névvel rendelkező nyilvános beágyazott típust.
public:
virtual Type ^ GetNestedType(System::String ^ name);
public:
Type ^ GetNestedType(System::String ^ name);
public Type GetNestedType(string name);
abstract member GetNestedType : string -> Type
override this.GetNestedType : string -> Type
member this.GetNestedType : string -> Type
Public Function GetNestedType (name As String) As Type
Paraméterek
- name
- String
A lekérni kívánt beágyazott típus nevét tartalmazó sztring.
Válaszok
A megadott névvel rendelkező nyilvános beágyazott típust képviselő objektum, ha található; egyéb esetben. null
Megvalósítás
Kivételek
name az null.
Megjegyzések
A keresés name érzékeli a kis- és nagybetűk közötti különbséget.
Használja a beágyazott osztály nameegyszerű nevét. Ne minősítse a külső osztály nevével. Általános beágyazott osztály esetén használja a csonkolt nevet , vagyis fűzze hozzá a sírjelet és az általános argumentumok számát. Az "Inner'1" sztring használatával például lekérheti az általános beágyazott osztályt Inner<T> (Inner(Of T) Visual Basic). Ne adjon meg nyelvspecifikus szintaxist a típusparaméterekhez.
Az alábbi táblázat azt mutatja be, hogy egy alaposztály mely tagjait adják vissza a metódusok egy Get típuson való tükrözéskor.
| Tagtípus | Static | Nem statikus |
|---|---|---|
| Constructor | No | No |
| Field | No | Yes. A mezők mindig név és aláírás alapján rejthetők el. |
| Esemény | Nem alkalmazható | A gyakori típusrendszerszabály az, hogy az öröklés megegyezik a tulajdonságot megvalósító metódusok öröklésével. A tükröződés a tulajdonságokat név és aláírás elrejtéseként kezeli. Lásd az alábbi 2. megjegyzést. |
| Módszer | No | Yes. A metódusok (mind a virtuális, mind a nem virtuális) elrejthetők név szerint vagy elrejthetők név és aláírás alapján. |
| Beágyazott típus | No | No |
| Property | Nem alkalmazható | A gyakori típusrendszerszabály az, hogy az öröklés megegyezik a tulajdonságot megvalósító metódusok öröklésével. A tükröződés a tulajdonságokat név és aláírás elrejtéseként kezeli. Lásd az alábbi 2. megjegyzést. |
A név és aláírás szerinti elrejtés az aláírás összes részét figyelembe veszi, beleértve az egyéni módosítókat, a visszatérési típusokat, a paramétertípusokat, a sentineleket és a nem kezelt hívási konvenciókat. Ez egy bináris összehasonlítás.
A reflexió során a tulajdonságok és események név és szignatúra szerint vannak elrejtve. Ha az alaposztálynak van egy beolvasási és egy beállítási kiegészítővel rendelkező tulajdonsága, de a származtatott osztálynak csak beolvasási kiegészítője van, a származtatott osztály tulajdonsága elrejti az alaposztály tulajdonságát, és nem tudja majd elérni a beállítót az alaposztályban.
Az egyéni attribútumok nem részei a gyakori típusrendszernek.
Ha az aktuális Type érték egy típusparamétert jelöl egy általános vagy általános metódus definíciójában, ez a metódus megkeresi az osztálykényszer beágyazott típusait.
Ha egy beágyazott típus általános, ez a metódus visszaadja az általános típusdefinícióját. Ez akkor is igaz, ha az általános típus zárt építésű típus.
Note
Ha az aktuális Type egy C#, Visual Basic vagy C++ nyelven definiált általános típust jelöl, a beágyazott típusok mind általánosak, még akkor is, ha nincsenek saját általános paraméterek. Ez nem feltétlenül igaz a dinamikus szerelvényekben definiált vagy a Ilasm.exe (IL-összeszerelővel) lefordított beágyazott típusokra.
A beágyazott általános típusokról és a beágyazott általános típusok általános típusdefiníciókból való felépítéséről további információt a következő témakörben talál MakeGenericType: .
Lásd még
A következőre érvényes:
GetNestedType(String, BindingFlags)
Ha egy származtatott osztályban felül van bírálva, a megadott kötési kényszerek használatával megkeresi a megadott beágyazott típust.
public:
abstract Type ^ GetNestedType(System::String ^ name, System::Reflection::BindingFlags bindingAttr);
public abstract Type GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
Public MustOverride Function GetNestedType (name As String, bindingAttr As BindingFlags) As Type
Paraméterek
- name
- String
A lekérni kívánt beágyazott típus nevét tartalmazó sztring.
- bindingAttr
- BindingFlags
A számbavételi értékek bitenkénti kombinációja, amely meghatározza a keresés menetét.
-vagy-
Default visszatéréshez null.
Válaszok
A megadott követelményeknek megfelelő beágyazott típust képviselő objektum, ha megtalálható; egyéb esetben. null
Megvalósítás
Kivételek
name az null.
Megjegyzések
Használja a beágyazott osztály nameegyszerű nevét. Ne minősítse a külső osztály nevével. Általános beágyazott osztály esetén használja a csonkolt nevet , azaz fűzze hozzá a sírjelet és az általános paraméterek számát. Az "Inner'1" sztring használatával például lekérheti az általános beágyazott osztályt Inner<T> (Inner(Of T) Visual Basic). Ne adjon meg nyelvspecifikus szintaxist a típusparaméterekhez.
A következő BindingFlags szűrőjelölőkkel határozhatja meg, hogy mely beágyazott típusok szerepeljenek a keresésben:
Meg kell adnia vagy BindingFlags.PublicBindingFlags.NonPublic be kell szereznie a visszatérést.
Adja meg BindingFlags.Public , hogy a keresésbe belefoglalja a nyilvános beágyazott típusokat.
Adja meg BindingFlags.NonPublic , hogy nem nyilvános beágyazott típusok (azaz privát, belső és védett beágyazott típusok) szerepeljenek a keresésben.
Ez a metódus csak az aktuális típus beágyazott típusait adja vissza. Nem keres az aktuális típus alaposztályaiban. Az alaposztályokban beágyazott típusok megkereséséhez végig kell járnia az öröklési hierarchiát, minden szinten hívva GetNestedType .
BindingFlags.Instance és BindingFlags.Static figyelmen kívül hagyják.
Ha ezt a metódust csak a BindingFlags.Public jelölővel vagy csak a BindingFlags.NonPublic jelölővel hívja meg, a megadott beágyazott típusokat adja vissza, és nem igényel más jelzőket.
További információért lásd a System.Reflection.BindingFlags jelű részt.
Ha az aktuális Type érték egy típusparamétert jelöl egy általános vagy általános metódus definíciójában, ez a metódus megkeresi az osztálykényszer beágyazott típusait.
Ha egy beágyazott típus általános, ez a metódus visszaadja az általános típusdefinícióját. Ez akkor is igaz, ha az általános típus zárt építésű típus.
Note
Ha az aktuális Type egy C#, Visual Basic vagy C++ nyelven definiált általános típust jelöl, a beágyazott típusok mind általánosak, még akkor is, ha nincsenek saját általános paraméterek. Ez nem feltétlenül igaz a dinamikus szerelvényekben definiált vagy a Ilasm.exe (IL-összeszerelővel) lefordított beágyazott típusokra.
A beágyazott általános típusokról és a beágyazott általános típusok általános típusdefiníciókból való felépítéséről további információt a következő témakörben talál MakeGenericType: .