TypeBuilder.InvokeMember Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 BindingFlags
bir 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 args
namedParameters
bü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.