Type.GetNestedType Metoda

Definice

Načte konkrétní typ vnořený v rámci aktuálního Type .Gets a specific type nested within the current Type.

Přetížení

GetNestedType(String, BindingFlags)

Při přepsání v odvozené třídě vyhledá zadaný vnořený typ pomocí zadaných omezení vazby.When overridden in a derived class, searches for the specified nested type, using the specified binding constraints.

GetNestedType(String)

Vyhledá veřejný vnořený typ se zadaným názvem.Searches for the public nested type with the specified name.

GetNestedType(String, BindingFlags)

Při přepsání v odvozené třídě vyhledá zadaný vnořený typ pomocí zadaných omezení vazby.When overridden in a derived class, searches for the specified nested type, using the specified binding constraints.

public:
 abstract Type ^ GetNestedType(System::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);
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ý má být získán.The string containing the name of the nested type to get.

bindingAttr
BindingFlags

Bitová kombinace hodnot výčtu, které určují, jak se provádí hledání.A bitwise combination of the enumeration values that specify how the search is conducted.

-nebo--or- Default pro návrat null .Default to return null.

Návraty

Type

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 .An object representing the nested type that matches the specified requirements, if found; otherwise, null.

Implementuje

Výjimky

name je null.name is null.

Poznámky

Použijte jednoduchý název vnořené třídy pro name .Use the simple name of the nested class for name. Nekvalifikovat ho s názvem vnější třídy.Do not qualify it with the name of the outer class. Pro obecnou vnořenou třídu použijte název pozměněný – to znamená, že připojíte čárku a počet obecných parametrů.For a generic nested class, use the mangled name - that is, append a grave accent and the number of generic parameters. Například použijte řetězec "Inner ` 1" pro získání obecné vnořené třídy Inner<T> ( Inner(Of T) v Visual Basic).For example, use the string "Inner`1" to get the generic nested class Inner<T> (Inner(Of T) in Visual Basic). Nezahrnujte syntaxi pro konkrétní jazyk pro parametry typu.Do not include language-specific syntax for type parameters.

Následující BindingFlags příznaky filtru lze použít k definování vnořených typů, které mají být zahrnuty do hledání:The following BindingFlags filter flags can be used to define which nested types to include in the search:

Tato metoda vrátí pouze vnořené typy aktuálního typu.This method returns only the nested types of the current type. Nehledá základní třídy aktuálního typu.It does not search the base classes of the current type. Chcete-li najít typy, které jsou vnořené v základních třídách, je nutné projít hierarchii dědičnosti volání GetNestedType na každé úrovni.To find types that are nested in base classes, you must walk the inheritance hierarchy, calling GetNestedType at each level.

BindingFlags.Instance a BindingFlags.Static jsou ignorovány.BindingFlags.Instance and BindingFlags.Static are ignored.

Volání této metody pouze s BindingFlags.Public příznakem nebo pouze BindingFlags.NonPublic příznak vrátí zadané vnořené typy a nevyžaduje žádné jiné příznaky.Calling this method with only the BindingFlags.Public flag or only the BindingFlags.NonPublic flag will return the specified nested types and does not require any other flags.

Další informace naleznete v tématu System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Pokud aktuální Type představuje parametr typu v definici obecného typu nebo obecné metody, tato metoda prohledá vnořené typy omezení třídy.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the nested types of the class constraint.

Pokud je vnořený typ obecný, vrací tato metoda příslušnou definici obecného typu.If a nested type is generic, this method returns its generic type definition. To platí i tehdy, je-li nadřazeným obecným typem uzavřený konstruovaný typ.This is true even if the enclosing generic type is a closed constructed type.

Poznámka

Pokud aktuální Type představuje obecný typ definovaný v jazyce C#, Visual Basic nebo C++, jeho vnořené typy jsou obecné i v případě, že nemají žádné obecné parametry.If the current Type represents a generic type defined in C#, Visual Basic, or C++, its nested types are all generic even if they have no generic parameters of their own. To nemusí nutně platit pro vnořené typy definované v dynamických sestaveních nebo zkompilované pomocí Ilasm.exe (IL Assembler).This is not necessarily true of nested types defined in dynamic assemblies or compiled with the Ilasm.exe (IL Assembler).

Informace o vnořených obecných typech a o vytváření vnořených obecných typů z definic obecných typů naleznete v tématu MakeGenericType .For information on nested generic types, and on constructing nested generic types from their generic type definitions, see MakeGenericType.

Viz také

Platí pro

GetNestedType(String)

Vyhledá veřejný vnořený typ se zadaným názvem.Searches for the public nested type with the specified name.

public:
 Type ^ GetNestedType(System::String ^ name);
public:
 virtual Type ^ GetNestedType(System::String ^ name);
public Type? GetNestedType (string name);
public Type GetNestedType (string name);
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ý má být získán.The string containing the name of the nested type to get.

Návraty

Type

Objekt představující veřejný vnořený typ se zadaným názvem, pokud byl nalezen; v opačném případě null .An object representing the public nested type with the specified name, if found; otherwise, null.

Implementuje

Výjimky

name je null.name is null.

Poznámky

Hledání rozlišuje name velká a malá písmena.The search for name is case-sensitive.

Použijte jednoduchý název vnořené třídy pro name .Use the simple name of the nested class for name. Nekvalifikovat ho s názvem vnější třídy.Do not qualify it with the name of the outer class. Pro obecnou vnořenou třídu použijte název pozměněný – to znamená, že připojíte čárku a počet obecných argumentů.For a generic nested class, use the mangled name - that is, append a grave accent and the number of generic arguments. Například použijte řetězec "Inner ` 1" pro získání obecné vnořené třídy Inner<T> ( Inner(Of T) v Visual Basic).For example, use the string "Inner`1" to get the generic nested class Inner<T> (Inner(Of T) in Visual Basic). Nezahrnujte syntaxi pro konkrétní jazyk pro parametry typu.Do not include language-specific syntax for type parameters.

Následující tabulka ukazuje, jaké členy základní třídy jsou vráceny Get metodami, pokud se odráží na typ.The following table shows what members of a base class are returned by the Get methods when reflecting on a type.

Typ členuMember Type StaticStatic NestatickýNon-Static
KonstruktorConstructor NoNo NoNo
PoleField NoNo Yes.Yes. Pole je vždy skrýváno podle názvu a podpisu.A field is always hide-by-name-and-signature.
UdálostEvent NeuvedenoNot applicable Pro systém typů platí obecné pravidlo, že dědičnost je stejná jako u metod, které implementují vlastnost.The common type system rule is that the inheritance is the same as that of the methods that implement the property. Reflexe pracuje s třídami jako se skrývanými podle názvu a podpisu.Reflection treats properties as hide-by-name-and-signature. Viz poznámka 2 níže.See note 2 below.
MetodaMethod NoNo Yes.Yes. Metody (virtuální i nevirtuální) mohou být skrývány podle názvu nebo podle názvu a podpisu.A method (both virtual and non-virtual) can be hide-by-name or hide-by-name-and-signature.
Vnořený typNested Type NoNo NoNo
VlastnostProperty NeuvedenoNot applicable Pro systém typů platí obecné pravidlo, že dědičnost je stejná jako u metod, které implementují vlastnost.The common type system rule is that the inheritance is the same as that of the methods that implement the property. Reflexe pracuje s třídami jako se skrývanými podle názvu a podpisu.Reflection treats properties as hide-by-name-and-signature. Viz poznámka 2 níže.See note 2 below.
  1. Skrývání podle názvu a podpisu bere v úvahu všechny části podpisu včetně vlastních modifikátorů, návratových typů, typů parametrů, sentinelů a nespravovaných konvencí volání.Hide-by-name-and-signature considers all of the parts of the signature, including custom modifiers, return types, parameter types, sentinels, and unmanaged calling conventions. Jedná se o binární porovnání.This is a binary comparison.

  2. Pro účely reflexe jsou vlastnosti a události skrývány podle názvu a podpisu.For reflection, properties and events are hide-by-name-and-signature. Má-li vlastnost v základní třídě přístupové metody get i set, ale odvozená třída má pouze přístupovou metodu get, vlastnost odvozené třídy skryje vlastnost základní třídy a nebudete mít k dispozici přístup k metodě set základní třídy.If you have a property with both a get and a set accessor in the base class, but the derived class has only a get accessor, the derived class property hides the base class property, and you will not be able to access the setter on the base class.

  3. Vlastní atributy nejsou součástí systému společných typů.Custom attributes are not part of the common type system.

Pokud aktuální Type představuje parametr typu v definici obecného typu nebo obecné metody, tato metoda prohledá vnořené typy omezení třídy.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the nested types of the class constraint.

Pokud je vnořený typ obecný, vrací tato metoda příslušnou definici obecného typu.If a nested type is generic, this method returns its generic type definition. To platí i tehdy, je-li nadřazeným obecným typem uzavřený konstruovaný typ.This is true even if the enclosing generic type is a closed constructed type.

Poznámka

Pokud aktuální Type představuje obecný typ definovaný v jazyce C#, Visual Basic nebo C++, jeho vnořené typy jsou obecné i v případě, že nemají žádné obecné parametry.If the current Type represents a generic type defined in C#, Visual Basic, or C++, its nested types are all generic even if they have no generic parameters of their own. To nemusí nutně platit pro vnořené typy definované v dynamických sestaveních nebo zkompilované pomocí Ilasm.exe (IL Assembler).This is not necessarily true of nested types defined in dynamic assemblies or compiled with the Ilasm.exe (IL Assembler).

Informace o vnořených obecných typech a o vytváření vnořených obecných typů z definic obecných typů naleznete v tématu MakeGenericType .For information on nested generic types, and on constructing nested generic types from their generic type definitions, see MakeGenericType.

Viz také

Platí pro