ConstructorBuilder.Invoke 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.
Bu örnek tarafından dinamik olarak yansıtılan oluşturucuyu çağırır.
Aşırı Yüklemeler
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Verilen nesnede bu örnek tarafından temsil edilen oluşturucuyu dinamik olarak çağırır, belirtilen parametreleri geçirir ve verilen bağlayıcının kısıtlamaları altında. |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Bu örnek tarafından yansıtılan oluşturucuyu belirtilen bağımsız değişkenlerle, belirtilen |
Invoke(BindingFlags, Binder, Object[], CultureInfo)
- Kaynak:
- ConstructorBuilder.cs
Verilen nesnede bu örnek tarafından temsil edilen oluşturucuyu dinamik olarak çağırır, belirtilen parametreleri geçirir ve verilen bağlayıcının kısıtlamaları altında.
public:
override System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametreler
- invokeAttr
- BindingFlags
Bu, InvokeMethod, NonPublic gibi bir bit bayrağı BindingFlagsolmalı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.
- parameters
- Object[]
Bağımsız değişken listesi. Bu, çağrılacak oluşturucunun parametreleriyle aynı sayı, sıra ve türe sahip bir bağımsız değişken dizisidir. Parametre yoksa bu olmalıdır null
.
- 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 farklı kültürler tarafından farklı temsil edilir çünkü bu, 1000'i temsil eden bir değeri bir Double değere dönüştürmek String için gereklidir.)
Döndürülenler
Çağrılan oluşturucu tarafından döndürülen değer.
Özel durumlar
Bu yöntem şu anda desteklenmiyor. oluşturucuyu kullanarak GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) alabilir ve döndürülen ConstructorInfoüzerinde çağırabilirsinizInvoke(BindingFlags, Binder, Object[], CultureInfo).
Açıklamalar
Oluşturucunun parametresi yoksa, parametresinin parameters
değeri olmalıdır null
. Aksi takdirde, dizideki parameters
öğelerin sayısı, türü ve sırası, bu örnek tarafından yansıtılan oluşturucu için parametre sayısı, türü ve sırası ile aynı olmalıdır.
Örneğin, bu örnek tarafından yansıtılan oluşturucu iki dize alan ortak sınıf olarak bildirilirse parameters
, parametrenin uzunluğu 2 olan bir dizi Object olması gerekir.
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.
Ayrıca bkz.
Şunlara uygulanır
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
- Kaynak:
- ConstructorBuilder.cs
Bu örnek tarafından yansıtılan oluşturucuyu belirtilen bağımsız değişkenlerle, belirtilen Binder
öğesinin kısıtlamaları altında dinamik olarak çağırır.
public:
override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object? obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
Parametreler
- obj
- Object
Yeniden başlatılması gereken nesne.
- invokeAttr
- BindingFlags
BindingFlags
İstenen bağlama türünü belirten değerlerden biri.
- binder
- Binder
Bir Binder
özellik kümesini tanımlayan ve bağlamayı, bağımsız değişken türlerini zorlamayı ve yansıma kullanarak üyelerin çağrılmasına olanak tanıyan. ise binder
null
Binder.DefaultBinding kullanılır.
- parameters
- Object[]
Bağımsız değişken listesi. Bu, çağrılacak oluşturucunun parametreleriyle aynı sayı, sıra ve türe sahip bir bağımsız değişken dizisidir. Parametre yoksa, bu bir null başvuru olmalıdır (Nothing
Visual Basic'te).
- culture
- CultureInfo
CultureInfo Türlerin zorlamasını idare etmek için kullanılan. Bu null ise, CultureInfo geçerli iş parçacığı için kullanılır.
Döndürülenler
Oluşturucu ile ilişkili sınıfının bir örneği.
Özel durumlar
Bu yöntem şu anda desteklenmiyor. oluşturucuyu kullanarak GetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) alabilir ve döndürülen ConstructorInfoüzerinde çağırabilirsinizInvoke(BindingFlags, Binder, Object[], CultureInfo).
Açıklamalar
Parametre dizisindeki öğelerin sayısı, türü ve sırası, bu örnek tarafından yansıtılan oluşturucunun parametre sayısı, türü ve sırası ile aynı olmalıdır.
Oluşturucuyu çağırmadan önce, Invoke
çağıranın erişim iznine sahip olduğundan ve parametrelerin doğru numara, sipariş ve türe sahip olduğundan emin olun.
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.