Type.GetNestedType Metódus

Definíció

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.
  1. 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.

  2. 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.

  3. 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:

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: .

Lásd még

A következőre érvényes: