Type.GetNestedType Methode

Definition

Ruft einen bestimmten Typ ab, der im aktuellen Type geschachtelt ist.Gets a specific type nested within the current Type.

Überlädt

GetNestedType(String, BindingFlags)

Sucht beim Überschreiben in einer abgeleiteten Klasse unter Verwendung der angegebenen Bindungseinschränkungen den angegebenen geschachtelten Typ.When overridden in a derived class, searches for the specified nested type, using the specified binding constraints.

GetNestedType(String)

Sucht den öffentlichen geschachtelten Typ mit dem angegebenen Namen.Searches for the public nested type with the specified name.

GetNestedType(String, BindingFlags)

Sucht beim Überschreiben in einer abgeleiteten Klasse unter Verwendung der angegebenen Bindungseinschränkungen den angegebenen geschachtelten Typ.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);
abstract member GetNestedType : string * System.Reflection.BindingFlags -> Type
Public MustOverride Function GetNestedType (name As String, bindingAttr As BindingFlags) As Type

Parameter

name
String

Die Zeichenfolge, die den Namen des abzurufenden geschachtelten Typs enthält.The string containing the name of the nested type to get.

bindingAttr
BindingFlags

Eine bitweise Kombination der Enumerationswerte, die angeben, wie die Suche durchgeführt wird.A bitwise combination of the enumeration values that specify how the search is conducted.

- oder --or- Default, damit null zurückgegeben wird.Default to return null.

Gibt zurück

Ein Objekt, das den geschachtelten Typ darstellt, der den angegebenen Anforderungen entspricht, sofern gefunden, andernfallsnull.An object representing the nested type that matches the specified requirements, if found; otherwise, null.

Implementiert

Ausnahmen

name ist null.name is null.

Hinweise

Verwenden Sie den einfachen Namen der-Klasse für name.Use the simple name of the nested class for name. Qualifizieren Sie diese nicht mit dem Namen der äußeren Klasse.Do not qualify it with the name of the outer class. Verwenden Sie für eine generische geschaltete Klasse den geschalteten Namen, d. h., fügen Sie einen schweren Akzent und die Anzahl der generischen Parameter an.For a generic nested class, use the mangled name - that is, append a grave accent and the number of generic parameters. Verwenden Sie z. b. die Zeichen`Folge "Inner 1", um die generische Inner<T> geschachtelte Klasse (Inner(Of T) in Visual Basic) zu erhalten.For example, use the string "Inner`1" to get the generic nested class Inner<T> (Inner(Of T) in Visual Basic). Fügen Sie keine sprachspezifische Syntax für Typparameter ein.Do not include language-specific syntax for type parameters.

Die folgenden BindingFlags Filterflags können verwendet werden, um zu definieren, welche in die Suche einzuschließenden Untertypen eingeschlossen werden sollen:The following BindingFlags filter flags can be used to define which nested types to include in the search:

Diese Methode gibt nur die Untertypen des aktuellen Typs zurück.This method returns only the nested types of the current type. Die Basisklassen des aktuellen Typs werden nicht durchsucht.It does not search the base classes of the current type. Um Typen zu suchen, die in Basisklassen eingebettet sind, müssen Sie die Vererbungs Hierarchie GetNestedType durchlaufen, indem Sie auf jeder Ebene aufrufen.To find types that are nested in base classes, you must walk the inheritance hierarchy, calling GetNestedType at each level.

BindingFlags.Instanceund BindingFlags.Static werden ignoriert.BindingFlags.Instance and BindingFlags.Static are ignored.

Wenn diese Methode nur mit dem BindingFlags.Public -Flag oder nur BindingFlags.NonPublic mit dem-Flag aufgerufen wird, werden die angegebenen Untertypen zurückgegeben, und es sind keine anderen Flags erforderlich.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.

Weitere Informationen finden Sie unter System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Wenn der aktuelle Type einen Typparameter in der Definition eines generischen Typs oder einer generischen Methode darstellt, durchsucht diese Methode die Untertypen der Klassen Einschränkung.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.

Wenn ein ngenerischer Typ generisch ist, gibt diese Methode die generische Typdefinition zurück.If a nested type is generic, this method returns its generic type definition. Dies gilt auch, wenn der umschließende generische Typ ein geschlossener konstruierter Typ ist.This is true even if the enclosing generic type is a closed constructed type.

Hinweis

Wenn der aktuelle Type einen generischen Typ darstellt, C#der in, Visual Basic C++oder definiert ist, sind die zugehörigen Typen generisch, auch wenn Sie über keine eigenen generischen Parameter verfügen.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. Dies trifft nicht unbedingt auf in dynamischen Assemblys definierte, in dynamischen Assemblys definierte oder mit Ilasm. exe (Il-Assembler)kompilierte Typen zu.This is not necessarily true of nested types defined in dynamic assemblies or compiled with the Ilasm.exe (IL Assembler).

Informationen zu den generischen generischen Typen und zum Erstellen von generischen generischen Typen aus ihren generischen Typdefinitionen finden MakeGenericTypeSie unter.For information on nested generic types, and on constructing nested generic types from their generic type definitions, see MakeGenericType.

Siehe auch

GetNestedType(String)

Sucht den öffentlichen geschachtelten Typ mit dem angegebenen Namen.Searches for the public nested type with the specified name.

public:
 virtual Type ^ GetNestedType(System::String ^ name);
public Type GetNestedType (string name);
abstract member GetNestedType : string -> Type
override this.GetNestedType : string -> Type
Public Function GetNestedType (name As String) As Type

Parameter

name
String

Die Zeichenfolge, die den Namen des abzurufenden geschachtelten Typs enthält.The string containing the name of the nested type to get.

Gibt zurück

Ein Objekt, das den öffentlichen geschachtelten Typ mit dem angegebenen Namen darstellt, sofern gefunden, andernfalls null.An object representing the public nested type with the specified name, if found; otherwise, null.

Implementiert

Ausnahmen

name ist null.name is null.

Hinweise

Beim Suchen nach name wird die Groß-/Kleinschreibung beachtet.The search for name is case-sensitive.

Verwenden Sie den einfachen Namen der-Klasse für name.Use the simple name of the nested class for name. Qualifizieren Sie diese nicht mit dem Namen der äußeren Klasse.Do not qualify it with the name of the outer class. Verwenden Sie für eine generische geschaltete Klasse den geschalteten Namen, d. h., fügen Sie einen schweren Akzent und die Anzahl der generischen Argumente an.For a generic nested class, use the mangled name - that is, append a grave accent and the number of generic arguments. Verwenden Sie z. b. die Zeichen`Folge "Inner 1", um die generische Inner<T> geschachtelte Klasse (Inner(Of T) in Visual Basic) zu erhalten.For example, use the string "Inner`1" to get the generic nested class Inner<T> (Inner(Of T) in Visual Basic). Fügen Sie keine sprachspezifische Syntax für Typparameter ein.Do not include language-specific syntax for type parameters.

In der folgenden Tabelle wird gezeigt, welche Member einer Basisklasse von den Get Methoden zurückgegeben werden, wenn ein Typ reflektiert wird.The following table shows what members of a base class are returned by the Get methods when reflecting on a type.

MemberartMember Type StatischStatic Nicht statischNon-Static
KonstruktorConstructor NeinNo NeinNo
FeldField NeinNo Ja.Yes. Ein Feld wird immer nach Name und Signatur ausgeblendet.A field is always hide-by-name-and-signature.
eventEvent Nicht zutreffendNot applicable Die allgemeine Typsystem Regel ist, dass die Vererbung mit der der Methoden identisch ist, die die-Eigenschaft implementieren.The common type system rule is that the inheritance is the same as that of the methods that implement the property. Die Reflektion behandelt Eigenschaften als "ausblenden nach Namen" und "Signatur".Reflection treats properties as hide-by-name-and-signature. Siehe Hinweis 2 weiter unten.See note 2 below.
MethodeMethod NeinNo Ja.Yes. Eine Methode (sowohl virtuell als auch nicht virtuell) kann nach Namen oder nach Name und Signatur ausgeblendet werden.A method (both virtual and non-virtual) can be hide-by-name or hide-by-name-and-signature.
Der Typ "Typ"Nested Type NeinNo NeinNo
EigenschaftProperty Nicht zutreffendNot applicable Die allgemeine Typsystem Regel ist, dass die Vererbung mit der der Methoden identisch ist, die die-Eigenschaft implementieren.The common type system rule is that the inheritance is the same as that of the methods that implement the property. Die Reflektion behandelt Eigenschaften als "ausblenden nach Namen" und "Signatur".Reflection treats properties as hide-by-name-and-signature. Siehe Hinweis 2 weiter unten.See note 2 below.
  1. "Hide-by-Name-and-Signature" berücksichtigt alle Teile der Signatur, einschließlich benutzerdefinierter Modifizierer, Rückgabe Typen, Parametertypen, Sentinels und nicht verwalteter Aufruf Konventionen.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. Dies ist ein binärer Vergleich.This is a binary comparison.

  2. Für Reflektion werden Eigenschaften und Ereignisse nach Name und Signatur ausgeblendet.For reflection, properties and events are hide-by-name-and-signature. Wenn Sie über eine Eigenschaft verfügen, die sowohl einen get-als auch einen Set-Accessor in der Basisklasse aufweist, aber die abgeleitete Klasse nur über einen get-Accessor verfügt, blendet die Eigenschaft der abgeleiteten Klasse die Basisklassen Eigenschaft aus, und Sie können nicht auf den Setter für die Basisklasse zugreifen.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. Benutzerdefinierte Attribute sind nicht Teil des allgemeinen Typsystems.Custom attributes are not part of the common type system.

Wenn der aktuelle Type einen Typparameter in der Definition eines generischen Typs oder einer generischen Methode darstellt, durchsucht diese Methode die Untertypen der Klassen Einschränkung.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.

Wenn ein ngenerischer Typ generisch ist, gibt diese Methode die generische Typdefinition zurück.If a nested type is generic, this method returns its generic type definition. Dies gilt auch, wenn der umschließende generische Typ ein geschlossener konstruierter Typ ist.This is true even if the enclosing generic type is a closed constructed type.

Hinweis

Wenn der aktuelle Type einen generischen Typ darstellt, C#der in, Visual Basic C++oder definiert ist, sind die zugehörigen Typen generisch, auch wenn Sie über keine eigenen generischen Parameter verfügen.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. Dies trifft nicht unbedingt auf in dynamischen Assemblys definierte, in dynamischen Assemblys definierte oder mit Ilasm. exe (Il-Assembler)kompilierte Typen zu.This is not necessarily true of nested types defined in dynamic assemblies or compiled with the Ilasm.exe (IL Assembler).

Informationen zu den generischen generischen Typen und zum Erstellen von generischen generischen Typen aus ihren generischen Typdefinitionen finden MakeGenericTypeSie unter.For information on nested generic types, and on constructing nested generic types from their generic type definitions, see MakeGenericType.

Siehe auch

Gilt für: