Type.GetNestedType Methode

Definitie

Hiermee wordt een specifiek type genest binnen de huidige Type.

Overloads

Name Description
GetNestedType(String, BindingFlags)

Wanneer deze wordt overschreven in een afgeleide klasse, zoekt u naar het opgegeven geneste type met behulp van de opgegeven bindingsbeperkingen.

GetNestedType(String)

Hiermee wordt gezocht naar het openbare geneste type met de opgegeven naam.

GetNestedType(String, BindingFlags)

Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs

Wanneer deze wordt overschreven in een afgeleide klasse, zoekt u naar het opgegeven geneste type met behulp van de opgegeven bindingsbeperkingen.

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

Parameters

name
String

De tekenreeks met de naam van het geneste type dat moet worden opgehaald.

bindingAttr
BindingFlags

Een bitsgewijze combinatie van de opsommingswaarden die aangeven hoe de zoekopdracht wordt uitgevoerd.

– of –

Default om terug te keren null.

Retouren

Een object dat het geneste type vertegenwoordigt dat overeenkomt met de opgegeven vereisten, indien gevonden; anders, null.

Implementeringen

Kenmerken

Uitzonderingen

name is null.

Opmerkingen

Gebruik de eenvoudige naam van de geneste klasse voor name. Kwalificeren deze niet met de naam van de buitenste klasse. Voor een algemene geneste klasse gebruikt u de naam van de mangled - dat wil gezegd, voeg een accent grave en het aantal algemene parameters toe. Gebruik bijvoorbeeld de tekenreeks 'Inner'1' om de geneste klasse op te halen Inner<T> (Inner(Of T) in Visual Basic). Neem geen taalspecifieke syntaxis op voor typeparameters.

De volgende BindingFlags filtervlagmen kunnen worden gebruikt om te definiëren welke geneste typen moeten worden opgenomen in de zoekopdracht:

Deze methode retourneert alleen de geneste typen van het huidige type. De basisklassen van het huidige type worden niet doorzocht. Als u wilt zoeken naar typen die zijn genest in basisklassen, moet u de overnamehiërarchie doorlopen, die op elk niveau wordt aangeroepen GetNestedType .

BindingFlags.Instance en BindingFlags.Static worden genegeerd.

Als u deze methode aanroept met alleen de BindingFlags.Public vlag of alleen de BindingFlags.NonPublic vlag, worden de opgegeven geneste typen geretourneerd en zijn geen andere vlaggen vereist.

Zie System.Reflection.BindingFlags voor meer informatie.

Als de huidige Type een typeparameter vertegenwoordigt in de definitie van een algemeen type of algemene methode, doorzoekt deze methode de geneste typen van de klassebeperking.

Als een geneste type algemeen is, retourneert deze methode de algemene typedefinitie. Dit geldt zelfs als het omsluitende algemene type een gesloten samengesteld type is.

Note

Als de huidige Type een algemeen type vertegenwoordigt dat is gedefinieerd in C#, Visual Basic of C++, zijn de geneste typen allemaal algemeen, zelfs als ze geen algemene parameters hebben. Dit geldt niet noodzakelijkerwijs voor geneste typen die zijn gedefinieerd in dynamische assembly's of gecompileerd met de Ilasm.exe (IL Assemblyer).

Zie voor informatie over geneste algemene typen en over het maken van geneste algemene typen uit hun algemene typedefinities MakeGenericType.

Zie ook

Van toepassing op

GetNestedType(String)

Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs
Bron:
Type.cs

Hiermee wordt gezocht naar het openbare geneste type met de opgegeven naam.

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

Parameters

name
String

De tekenreeks met de naam van het geneste type dat moet worden opgehaald.

Retouren

Een object dat het openbare geneste type vertegenwoordigt met de opgegeven naam, indien gevonden; anders, null.

Implementeringen

Kenmerken

Uitzonderingen

name is null.

Opmerkingen

De zoekopdracht name is hoofdlettergevoelig.

Gebruik de eenvoudige naam van de geneste klasse voor name. Kwalificeren deze niet met de naam van de buitenste klasse. Voor een algemene geneste klasse gebruikt u de naam van de mangled, dat wil gezegd, een accent grave en het aantal algemene argumenten toevoegen. Gebruik bijvoorbeeld de tekenreeks 'Inner'1' om de geneste klasse op te halen Inner<T> (Inner(Of T) in Visual Basic). Neem geen taalspecifieke syntaxis op voor typeparameters.

In de volgende tabel ziet u welke leden van een basisklasse worden geretourneerd door de Get methoden bij het weergeven van een type.

Lidmaatschapssoort Static Niet-statisch
Constructeur No No
Veld No Yes. Een veld wordt altijd verborgen op basis van naam en kenmerk.
Gebeurtenis Niet van toepassing De algemene regels van het type-systeem zijn dat de overerving hetzelfde is als die van de methoden die de eigenschap implementeren. Weerspiegeling behandelt eigenschappen als hide-by-name-and-signature. Zie opmerking 2 hieronder.
Methode No Yes. Een methode (zowel virtueel als niet-virtueel) kan worden verborgen op basis van naam of op basis van naam en handtekening.
Geneste type No No
Vastgoed Niet van toepassing De algemene regels van het type-systeem zijn dat de overerving hetzelfde is als die van de methoden die de eigenschap implementeren. Weerspiegeling behandelt eigenschappen als hide-by-name-and-signature. Zie opmerking 2 hieronder.
  1. Hide-by-name-and-signature beschouwt alle onderdelen van de handtekening, waaronder aangepaste modifiers, retourtypen, parametertypen, sentinels en onbeheerde aanroepconventies. Dit is een binaire vergelijking.

  2. Voor reflectie worden eigenschappen en gebeurtenissen verborgen op basis van naam en signatuur. Als u een eigenschap hebt met zowel een get als een set accessor in de basisklasse, maar de afgeleide klasse alleen een get-accessor heeft, verbergt de eigenschap afgeleide klasse de eigenschap basisklasse en hebt u geen toegang tot de setter op de basisklasse.

  3. Aangepaste kenmerken maken geen deel uit van het algemene typesysteem.

Als de huidige Type een typeparameter vertegenwoordigt in de definitie van een algemeen type of algemene methode, doorzoekt deze methode de geneste typen van de klassebeperking.

Als een geneste type algemeen is, retourneert deze methode de algemene typedefinitie. Dit geldt zelfs als het omsluitende algemene type een gesloten samengesteld type is.

Note

Als de huidige Type een algemeen type vertegenwoordigt dat is gedefinieerd in C#, Visual Basic of C++, zijn de geneste typen allemaal algemeen, zelfs als ze geen algemene parameters hebben. Dit geldt niet noodzakelijkerwijs voor geneste typen die zijn gedefinieerd in dynamische assembly's of gecompileerd met de Ilasm.exe (IL Assemblyer).

Zie voor informatie over geneste algemene typen en over het maken van geneste algemene typen uit hun algemene typedefinities MakeGenericType.

Zie ook

Van toepassing op