Sdílet prostřednictvím


Type.GetNestedType Metoda

Definice

Získá určitý typ vnořený v aktuálním Type.

Přetížení

Name Description
GetNestedType(String, BindingFlags)

Při přepsání v odvozené třídě vyhledá zadaný vnořený typ pomocí zadaných omezení vazby.

GetNestedType(String)

Vyhledá veřejný vnořený typ se zadaným názvem.

GetNestedType(String, BindingFlags)

Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs

Při přepsání v odvozené třídě vyhledá zadaný vnořený typ pomocí zadaných omezení vazby.

public:
 abstract Type ^ GetNestedType(System::String ^ name, System::Reflection::BindingFlags bindingAttr);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public abstract Type? GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
public abstract Type GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
public abstract Type? GetNestedType(string name, System.Reflection.BindingFlags bindingAttr);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
Public MustOverride Function GetNestedType (name As String, bindingAttr As BindingFlags) As Type

Parametry

name
String

Řetězec obsahující název vnořeného typu, který chcete získat.

bindingAttr
BindingFlags

Bitové kombinace hodnot výčtu, které určují způsob provedení hledání.

nebo

Default nullvrátit .

Návraty

Objekt představující vnořený typ, který odpovídá zadaným požadavkům, pokud byl nalezen; v opačném případě . null

Implementuje

Atributy

Výjimky

name je null.

Poznámky

Použijte jednoduchý název vnořené třídy pro name. Nekvalifikujte ji názvem vnější třídy. Pro obecnou vnořenou třídu použijte mangled název - to znamená, připojit hrob zvýraznění a počet obecných parametrů. Například pomocí řetězce "Inner'1" získáte obecnou vnořenou třídu Inner<T> (Inner(Of T) v Visual Basic). Nezahrnujte syntaxi specifickou pro jazyk pro parametry typu.

BindingFlags Následující příznaky filtru lze použít k definování vnořených typů, které se mají zahrnout do hledání:

Tato metoda vrátí pouze vnořené typy aktuálního typu. Neprohledává základní třídy aktuálního typu. Pokud chcete najít typy, které jsou vnořené do základních tříd, musíte procházet hierarchii dědičnosti voláním GetNestedType na každé úrovni.

BindingFlags.Instance a BindingFlags.Static jsou ignorovány.

Volání této metody pouze příznakem BindingFlags.Public nebo pouze BindingFlags.NonPublic příznak vrátí zadané vnořené typy a nevyžaduje žádné jiné příznaky.

Další informace naleznete na System.Reflection.BindingFlags.

Pokud aktuální Type představuje parametr typu v definici obecného typu nebo obecné metody, tato metoda vyhledá vnořené typy omezení třídy.

Pokud je vnořený typ obecný, vrátí tato metoda definici obecného typu. To platí i v případě, že uzavřený obecný typ je uzavřený konstruovaný typ.

Poznámka:

Pokud aktuální Type představuje obecný typ definovaný v jazyce C#, Visual Basic nebo C++, jsou jeho vnořené typy obecné, i když nemají vlastní obecné parametry. To nemusí nutně platit pro vnořené typy definované v dynamických sestaveních nebo kompilované pomocí Ilasm.exe (IL Assembler).

Informace o vnořenýchobecnýchch MakeGenericType

Viz také

Platí pro

GetNestedType(String)

Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs

Vyhledá veřejný vnořený typ se zadaným názvem.

public:
 Type ^ GetNestedType(System::String ^ name);
public:
 virtual Type ^ GetNestedType(System::String ^ name);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)]
public Type? GetNestedType(string name);
public Type GetNestedType(string name);
public Type? GetNestedType(string name);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes)>]
member this.GetNestedType : string -> Type
member this.GetNestedType : string -> Type
abstract member GetNestedType : string -> Type
override this.GetNestedType : string -> Type
Public Function GetNestedType (name As String) As Type

Parametry

name
String

Řetězec obsahující název vnořeného typu, který chcete získat.

Návraty

Objekt představující veřejný vnořený typ se zadaným názvem, pokud byl nalezen; v opačném případě . null

Implementuje

Atributy

Výjimky

name je null.

Poznámky

Hledání pro name rozlišuje malá a velká písmena.

Použijte jednoduchý název vnořené třídy pro name. Nekvalifikujte ji názvem vnější třídy. Pro obecnou vnořenou třídu použijte mangled name – to znamená, připojte k hrobu zvýraznění a počet obecných argumentů. Například pomocí řetězce "Inner'1" získáte obecnou vnořenou třídu Inner<T> (Inner(Of T) v Visual Basic). Nezahrnujte syntaxi specifickou pro jazyk pro parametry typu.

Následující tabulka ukazuje, jaké členy základní třídy jsou vráceny metodami Get při reflexi typu.

Typ členu Statický. Nestatické
Konstruktor Ne Ne
Obor Ne Ano. Pole se vždy skryje podle názvu a signatury.
Zvláštní událost Není relevantní Běžné pravidlo systému typů je, že dědičnost je stejná jako u metod, které implementují vlastnost. Reflexe považuje vlastnosti za skrýt podle názvu a podpisu. Viz poznámka 2 níže.
Metoda Ne Ano. Metodu (virtuální i ne virtuální) lze skrýt podle názvu nebo skrýt podle názvu a podpisu.
Vnořený typ Ne Ne
Vlastnictví Není relevantní Běžné pravidlo systému typů je, že dědičnost je stejná jako u metod, které implementují vlastnost. Reflexe považuje vlastnosti za skrýt podle názvu a podpisu. Viz poznámka 2 níže.
  1. Funkce skrytí podle jména a podpisu zohledňuje všechny části podpisu, včetně vlastních modifikátorů, návratových typů, typů parametrů, sentinelů a nespravovaných konvencí volání. Jedná se o binární porovnání.

  2. Pro reflexi jsou vlastnosti a události skryty podle názvu a podpisu. Pokud máte vlastnost s oběma přístupovými metodami get i set v základní třídě, ale odvozená třída má pouze přístupovou metodu get, odvozená třída překryje vlastnost základní třídy a nebudete mít přístup k nastavovací metodě základní třídy.

  3. Vlastní atributy nejsou součástí systému běžných typů.

Pokud aktuální Type představuje parametr typu v definici obecného typu nebo obecné metody, tato metoda vyhledá vnořené typy omezení třídy.

Pokud je vnořený typ obecný, vrátí tato metoda definici obecného typu. To platí i v případě, že uzavřený obecný typ je uzavřený konstruovaný typ.

Poznámka:

Pokud aktuální Type představuje obecný typ definovaný v jazyce C#, Visual Basic nebo C++, jsou jeho vnořené typy obecné, i když nemají vlastní obecné parametry. To nemusí nutně platit pro vnořené typy definované v dynamických sestaveních nebo kompilované pomocí Ilasm.exe (IL Assembler).

Informace o vnořenýchobecnýchch MakeGenericType

Viz také

Platí pro