Type.GetMethodImpl Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) |
När den åsidosättas i en härledd klass söker du efter den angivna metoden vars parametrar matchar de angivna argumenttyperna och modifierarna med hjälp av de angivna bindningsbegränsningarna och den angivna anropskonventionen. |
| GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) |
När den åsidosättas i en härledd klass söker du efter den angivna metoden vars parametrar matchar det angivna allmänna parameterantalet, argumenttyper och modifierare, med hjälp av de angivna bindningsbegränsningarna och den angivna anropskonventionen. |
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
När den åsidosättas i en härledd klass söker du efter den angivna metoden vars parametrar matchar de angivna argumenttyperna och modifierarna med hjälp av de angivna bindningsbegränsningarna och den angivna anropskonventionen.
protected:
abstract System::Reflection::MethodInfo ^ GetMethodImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)]
protected abstract System.Reflection.MethodInfo? GetMethodImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.MethodInfo GetMethodImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected abstract System.Reflection.MethodInfo? GetMethodImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)>]
abstract member GetMethodImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
abstract member GetMethodImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
Protected MustOverride Function GetMethodImpl (name As String, bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As MethodInfo
Parametrar
- name
- String
Strängen som innehåller namnet på den metod som ska hämtas.
- bindingAttr
- BindingFlags
En bitvis kombination av uppräkningsvärdena som anger hur sökningen ska utföras.
-eller-
Default för att returnera null.
- binder
- Binder
Ett objekt som definierar en uppsättning egenskaper och möjliggör bindning, vilket kan innebära val av en överbelastad metod, tvång av argumenttyper och anrop av en medlem genom reflektion.
-eller-
En null-referens (Nothing i Visual Basic) för att använda DefaultBinder.
- callConvention
- CallingConventions
Objektet som anger vilken uppsättning regler som ska användas för argumentens ordning och layout, hur returvärdet skickas, vilka register som används för argument och vilken process som rensar stacken.
- types
- Type[]
En matris med Type objekt som representerar antalet, ordningen och typen av parametrar som metoden ska hämta.
-eller-
En tom matris av typen Type (d.v.s. Type[] types = new Type[0]) för att hämta en metod som inte tar några parametrar.
-eller-
null. Om types är nullmatchas inte argumenten.
- modifiers
- ParameterModifier[]
En matris med ParameterModifier objekt som representerar attributen som är associerade med motsvarande element i matrisen types . Standardbindaren bearbetar inte den här parametern.
Returer
Ett objekt som representerar metoden som matchar de angivna kraven, om det hittas; annars . null
- Attribut
Undantag
Mer än en metod hittas med det angivna namnet och matchar de angivna bindningsbegränsningarna.
name är null.
types är flerdimensionellt.
-eller-
modifiers är flerdimensionellt.
-eller-
types och modifiers har inte samma längd.
Den aktuella typen är en TypeBuilder eller GenericTypeParameterBuilder.
Kommentarer
Även om standardbindaren inte bearbetar ParameterModifier (parametern modifiers) kan du använda den abstrakta klassen System.Reflection.Binder för att skriva en anpassad bindare som bearbetar modifiers.
ParameterModifier används endast vid anrop via COM-interop, och endast parametrar som skickas av referens hanteras.
Om types är nullmatchas inte argumenten.
Följande BindingFlags filterflaggor kan användas för att definiera vilka metoder som ska ingå i sökningen:
Du måste ange antingen
BindingFlags.InstanceellerBindingFlags.Staticför att få en retur.Ange
BindingFlags.Publicatt offentliga metoder ska inkluderas i sökningen.Ange
BindingFlags.NonPublicatt icke-offentliga metoder (dvs. privata, interna och skyddade metoder) ska inkluderas i sökningen.Ange
BindingFlags.FlattenHierarchyatt inkluderapublicochprotectedstatiska medlemmar i hierarkin.privateStatiska medlemmar i ärvda klasser ingår inte.
Följande BindingFlags modifierarflaggor kan användas för att ändra hur sökningen fungerar:
BindingFlags.IgnoreCaseför att ignorera falletnamemed .BindingFlags.DeclaredOnlyom du bara vill söka efter de metoder som deklarerats på Type, inte metoder som helt enkelt ärvts.
Mer information finns i System.Reflection.BindingFlags.
Se även
- MethodInfo
- String
- BindingFlags
- Binder
- DefaultBinder
- CallingConventions
- ParameterModifier
- GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- GetMethods()
Gäller för
GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
- Källa:
- Type.cs
När den åsidosättas i en härledd klass söker du efter den angivna metoden vars parametrar matchar det angivna allmänna parameterantalet, argumenttyper och modifierare, med hjälp av de angivna bindningsbegränsningarna och den angivna anropskonventionen.
protected:
virtual System::Reflection::MethodInfo ^ GetMethodImpl(System::String ^ name, int genericParameterCount, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)]
protected virtual System.Reflection.MethodInfo? GetMethodImpl(string name, int genericParameterCount, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected virtual System.Reflection.MethodInfo GetMethodImpl(string name, int genericParameterCount, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected virtual System.Reflection.MethodInfo? GetMethodImpl(string name, int genericParameterCount, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Reflection.CallingConventions callConvention, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)>]
abstract member GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
override this.GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
abstract member GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
override this.GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
Protected Overridable Function GetMethodImpl (name As String, genericParameterCount As Integer, bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As MethodInfo
Parametrar
- name
- String
Strängen som innehåller namnet på den metod som ska hämtas.
- genericParameterCount
- Int32
Antalet generiska typparametrar för metoden.
- bindingAttr
- BindingFlags
En bitvis kombination av uppräkningsvärdena som anger hur sökningen ska utföras.
-eller-
Default för att returnera null.
- binder
- Binder
Ett objekt som definierar en uppsättning egenskaper och möjliggör bindning, vilket kan innebära val av en överbelastad metod, tvång av argumenttyper och anrop av en medlem genom reflektion.
-eller-
En null-referens (Nothing i Visual Basic) för att använda DefaultBinder.
- callConvention
- CallingConventions
Objektet som anger vilken uppsättning regler som ska användas för argumentens ordning och layout, hur returvärdet skickas, vilka register som används för argument och vilken process som rensar stacken.
- types
- Type[]
En matris med Type objekt som representerar antalet, ordningen och typen av parametrar som metoden ska hämta.
-eller-
En tom matris av typen Type (d.v.s. Type[] types = new Type[0]) för att hämta en metod som inte tar några parametrar.
-eller-
null. Om types är nullmatchas inte argumenten.
- modifiers
- ParameterModifier[]
En matris med ParameterModifier objekt som representerar attributen som är associerade med motsvarande element i matrisen types . Standardbindaren bearbetar inte den här parametern.
Returer
Ett objekt som representerar metoden som matchar det angivna allmänna parameterantalet, argumenttyper, modifierare, bindningsbegränsningar och anropande konvention, om det hittas; annars . null
- Attribut
Undantag
Metoden måste åsidosättas och anropas i en härledd klass.