Type.GetNestedType Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Je nutné zadat nebo BindingFlags.PublicBindingFlags.NonPublic získat vrácení.
Zadejte BindingFlags.Public , aby se do hledání zahrnuly veřejné vnořené typy.
Zadejte BindingFlags.NonPublic , aby se do hledání zahrnuly nevnořené typy (tj. soukromé, interní a chráněné typy vnořené).
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. |
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í.
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.
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