TypeBuilder.InvokeMember Yöntem

Tanım

Belirtilen üyeyi çağırır. Çağrılacak yöntemin erişilebilir olması ve belirtilen bağlayıcı ve çağırma özniteliklerinin kısıtlamaları altında belirtilen bağımsız değişken listesiyle en özel eşleşmeyi sağlaması gerekir.

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

Parametreler

name
String

Çağrılacak üyenin adı. Bu bir oluşturucu, yöntem, özellik veya alan olabilir. Uygun bir çağırma özniteliği belirtilmelidir. Üyenin adı olarak boş bir dize geçirerek sınıfın varsayılan üyesini çağırmanın mümkün olduğunu unutmayın.

invokeAttr
BindingFlags

Çağırma özniteliği. Bu, 'den BindingFlagsbir bit bayrağı olmalıdır.

binder
Binder

Bağlamayı, bağımsız değişken türlerini zorlamayı, üyeleri çağırmayı ve yansıma kullanarak nesnelerin alınmasını MemberInfo sağlayan nesne. Ciltçi ise null, varsayılan cilt kullanılır. Bkz. Binder.

target
Object

Belirtilen üyenin çağrıldığı nesne. Üye statikse, bu parametre yoksayılır.

args
Object[]

Bağımsız değişken listesi. Bu, çağrılacak üyenin parametrelerinin sayısını, sırasını ve türünü içeren bir Objects dizisidir. Parametre yoksa bu null olmalıdır.

modifiers
ParameterModifier[]

Çağrılacak üyenin bağımsız değişkenleriyle ilişkili öznitelikleri temsil eden öğelerle aynı uzunlukta args bir dizi. Parametrenin meta verilerde kendisiyle ilişkilendirilmiş öznitelikleri vardır. Bunlar çeşitli birlikte çalışabilirlik hizmetleri tarafından kullanılır. Daha fazla ayrıntı için meta veri belirtimlerine bakın.

culture
CultureInfo

Türlerin CultureInfo zorlamasını idare etmek için kullanılan bir örneği. Bu null ise, CultureInfo geçerli iş parçacığı için kullanılır. (Örneğin, 1000'i temsil eden bir Dizeyi Çift değere dönüştürmek için bunun gerekli olduğunu unutmayın, çünkü 1000 farklı kültürler tarafından farklı temsil edilir.)

namedParameters
String[]

Dizideki namedParameters her parametre, dizideki ilgili öğedeki args değeri alır. uzunluğu değerinden argsnamedParametersbüyükse, kalan bağımsız değişken değerleri sırayla geçirilir.

Döndürülenler

Çağrılan üyenin dönüş değerini döndürür.

Özel durumlar

Bu yöntem şu anda tamamlanmamış türler için desteklenmiyor.

Açıklamalar

Yöntem bildirimindeki parametre sayısı belirtilen bağımsız değişken listesindeki bağımsız değişkenlerin sayısına eşitse ve her bağımsız değişkenin türü bağlayıcı tarafından parametre türüne dönüştürülebiliyorsa bir yöntem çağrılır.

Bağlayıcı tüm eşleşen yöntemleri bulur. Bu yöntemler istenen bağlama türüne (BindingFlags.InvokeMethod, BindingFlags.GetProperties vb.) göre bulunur. Yöntem kümesi ad, bağımsız değişken sayısı ve bağlayıcıda tanımlanan arama değiştiricileri kümesine göre filtrelenmiştir. Yöntem seçildikten sonra çağrılır. Erişilebilirlik bu noktada denetlendi. Arama, yöntemiyle ilişkili erişilebilirlik özniteliğine göre hangi yöntem kümesinin aranabileceğini denetleyebiliyor. IBinder.BindToMethod yöntemi, çağrılacak yöntemi seçmekle sorumludur. Varsayılan bağlayıcı en özel eşleşmeyi seçer.

Not

Tam olarak güvenilen kod için erişim kısıtlamaları yoksayılır. Yani özel oluşturucular, yöntemler, alanlar ve özellikler, koda tam olarak güvenildiğinde Yansıma kullanılarak erişilebilir ve çağrılabilir.

Bu yöntem şu anda desteklenmiyor. veya Assembly.GetType kullanarak Type.GetType türü alabilir ve alınan tür üzerinde yansıma kullanabilirsiniz.

Şunlara uygulanır