Type.GetMethodImpl Yöntem

Tanım

Aşırı Yüklemeler

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen bağlama kısıtlamalarını ve belirtilen çağırma kuralını kullanarak parametreleri belirtilen bağımsız değişken türleri ve değiştiriciler ile eşleşen belirtilen metodu arar.When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen bağlama kısıtlamalarını ve belirtilen çağırma kuralını kullanarak parametreleri belirtilen genel parametre sayısı, bağımsız değişken türleri ve değiştiriciler ile eşleşen belirtilen metodu arar.When overridden in a derived class, searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints and the specified calling convention.

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen bağlama kısıtlamalarını ve belirtilen çağırma kuralını kullanarak parametreleri belirtilen bağımsız değişken türleri ve değiştiriciler ile eşleşen belirtilen metodu arar.When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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);
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);
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

Parametreler

name
String

Alınacak yöntemin adını içeren dize.The string containing the name of the method to get.

bindingAttr
BindingFlags

Aramanın nasıl yürütüldüğünü belirten numaralandırma değerlerinin bit düzeyinde birleşimi.A bitwise combination of the enumeration values that specify how the search is conducted.

-veya--or- Default dönün null .Default to return null.

binder
Binder

Aşırı yüklenmiş yöntem seçimi, bağımsız değişken türlerinin uygulatılması ve yansıtma yoluyla bir üyenin çağrılması işlemlerini içerebilen; özellikler kümesini tanımlayan ve bağlama işlemine olanak veren bir nesne.An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.

-veya--or- Öğesini kullanmak için null bir başvuru ( Nothing Visual Basic) DefaultBinder .A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions

Bağımsız değişkenlerin sırası ve düzeni, dönüş değerinin nasıl geçirildiği, bağımsız değişkenler için hangi kayıtların kullanıldığı ve yığının ne kadar işlemin temizliğiyle ilgili olarak kullanılacak kurallar kümesini belirten nesne.The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and what process cleans up the stack.

types
Type[]

TypeAlınacak Yöntem için parametrelerin sayısını, sırasını ve türünü temsil eden bir nesne dizisi.An array of Type objects representing the number, order, and type of the parameters for the method to get.

-veya--or- TypeParametre içermeyen bir yöntemi almak için tür boş bir dizi (yani, Type [] types = new Type [0]).An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

-veya--or- null.null. typesİse null , bağımsız değişkenler eşleştirilmez.If types is null, arguments are not matched.

modifiers
ParameterModifier[]

ParameterModifierDizide karşılık gelen öğeyle ilişkili öznitelikleri temsil eden nesne dizisi types .An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Varsayılan bağlayıcı bu parametreyi işlemez.The default binder does not process this parameter.

Döndürülenler

MethodInfo

Bulunursa, belirtilen gereksinimlerle eşleşen yöntemi temsil eden bir nesne; Aksi takdirde, null .An object representing the method that matches the specified requirements, if found; otherwise, null.

Özel durumlar

Belirtilen ada sahip ve belirtilen bağlama kısıtlamalarıyla eşleşen birden fazla yöntem bulundu.More than one method is found with the specified name and matching the specified binding constraints.

name, null değeridir.name is null.

types çok boyutludur.types is multidimensional.

-veya--or- modifiers çok boyutludur.modifiers is multidimensional.

-veya--or- typesmodifiersaynı uzunlukta değildir.types and modifiers do not have the same length.

Açıklamalar

Varsayılan bağlayıcı işlem yapmaz ParameterModifier ( modifiers parametresi), ancak System.Reflection.Binder işlem yapan özel bir cilt yazmak için soyut sınıfı kullanabilirsiniz modifiers .Although the default binder does not process ParameterModifier (the modifiers parameter), you can use the abstract System.Reflection.Binder class to write a custom binder that does process modifiers. ParameterModifier yalnızca COM birlikte çalışabilirliğine çağrı yapılırken kullanılır ve yalnızca başvuru ile geçirilen parametreler işlenir.ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

typesİse null , bağımsız değişkenler eşleştirilmez.If types is null, arguments are not matched.

BindingFlagsAramaya hangi yöntemlerin ekleneceğini tanımlamak için aşağıdaki filtre bayrakları kullanılabilir:The following BindingFlags filter flags can be used to define which methods to include in the search:

  • BindingFlags.Instance BindingFlags.Static Dönüş almak için ya da ' i belirtmeniz gerekir.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • BindingFlags.PublicAramaya ortak yöntemler dahil etmek için belirtin.Specify BindingFlags.Public to include public methods in the search.

  • BindingFlags.NonPublicAramada ortak olmayan Yöntemler (özel, iç ve korumalı Yöntemler) dahil etmek için belirtin.Specify BindingFlags.NonPublic to include non-public methods (that is, private, internal, and protected methods) in the search.

  • BindingFlags.FlattenHierarchyHiyerarşinin dahil edileceğini public ve protected statik üyelerini belirtin; private devralınan sınıflarda statik üyeler dahil değildir.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

BindingFlagsAramanın nasıl çalıştığını değiştirmek için aşağıdaki değiştirici bayrakları kullanılabilir:The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase durumunu yok saymak için name .BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnly yalnızca ' de tanımlanan yöntemleri aramak için Type , yalnızca devralınmış yöntemler için değil.BindingFlags.DeclaredOnly to search only the methods declared on the Type, not methods that were simply inherited.

Daha fazla bilgi edinmek için bkz. System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Ayrıca bkz.

Şunlara uygulanır

GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Türetilmiş bir sınıfta geçersiz kılınırsa, belirtilen bağlama kısıtlamalarını ve belirtilen çağırma kuralını kullanarak parametreleri belirtilen genel parametre sayısı, bağımsız değişken türleri ve değiştiriciler ile eşleşen belirtilen metodu arar.When overridden in a derived class, searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints and the specified calling convention.

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);
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);
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

Parametreler

name
String

Alınacak yöntemin adını içeren dize.The string containing the name of the method to get.

genericParameterCount
Int32

Metodun genel tür parametrelerinin sayısı.The number of generic type parameters of the method.

bindingAttr
BindingFlags

Aramanın nasıl yürütüldüğünü belirten numaralandırma değerlerinin bit düzeyinde birleşimi.A bitwise combination of the enumeration values that specify how the search is conducted.

-veya--or-

Default dönün null .Default to return null.

binder
Binder

Aşırı yüklenmiş yöntem seçimi, bağımsız değişken türlerinin uygulatılması ve yansıtma yoluyla bir üyenin çağrılması işlemlerini içerebilen; özellikler kümesini tanımlayan ve bağlama işlemine olanak veren bir nesne.An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.

-veya--or-

Öğesini kullanmak için null bir başvuru ( Nothing Visual Basic) DefaultBinder .A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions

Bağımsız değişkenlerin sırası ve düzeni, dönüş değerinin nasıl geçirildiği, bağımsız değişkenler için hangi kayıtların kullanıldığı ve yığının ne kadar işlemin temizliğiyle ilgili olarak kullanılacak kurallar kümesini belirten nesne.The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and what process cleans up the stack.

types
Type[]

TypeAlınacak Yöntem için parametrelerin sayısını, sırasını ve türünü temsil eden bir nesne dizisi.An array of Type objects representing the number, order, and type of the parameters for the method to get.

-veya--or-

TypeParametre içermeyen bir yöntemi almak için tür boş bir dizi (yani, Type [] types = new Type [0]).An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

-veya--or-

null.null. typesİse null , bağımsız değişkenler eşleştirilmez.If types is null, arguments are not matched.

modifiers
ParameterModifier[]

ParameterModifierDizide karşılık gelen öğeyle ilişkili öznitelikleri temsil eden nesne dizisi types .An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Varsayılan bağlayıcı bu parametreyi işlemez.The default binder does not process this parameter.

Döndürülenler

MethodInfo

Bulunursa, belirtilen genel parametre sayısı, bağımsız değişken türleri, değiştiriciler, bağlama kısıtlamaları ve çağırma kuralıyla eşleşen yöntemi temsil eden bir nesne; Aksi takdirde, null .An object representing the method that matches the specified generic parameter count, argument types, modifiers, binding constraints and calling convention, if found; otherwise, null.

Özel durumlar

Metodun geçersiz kılınması ve türetilmiş bir sınıfta çağrılması gerekir.The method needs to be overriden and called in a derived class.

Şunlara uygulanır