ConstructorInfo.Invoke Yöntem

Tanım

Bu örnek tarafından yansıtılan oluşturucuyu çağırır.

Aşırı Yüklemeler

Invoke(Object[])

Belirtilen parametreleri içeren örnek tarafından yansıtılan oluşturucuyu çağırır ve yaygın olarak kullanılmayan parametreler için varsayılan değerler sağlar.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Türetilmiş bir sınıfta uygulandığında, belirtilen bağımsız değişkenlerle bu tarafından ConstructorInfo yansıtılan oluşturucuyu belirtilen Binderöğesinin kısıtlamaları altında çağırır.

Invoke(Object[])

Kaynak:
ConstructorInfo.cs
Kaynak:
ConstructorInfo.cs
Kaynak:
ConstructorInfo.cs

Belirtilen parametreleri içeren örnek tarafından yansıtılan oluşturucuyu çağırır ve yaygın olarak kullanılmayan parametreler için varsayılan değerler sağlar.

public:
 virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
 System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke (object[] parameters);
public object Invoke (object?[]? parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object

Parametreler

parameters
Object[]

Bu oluşturucu için parametrelerin sayısı, sırası ve türüyle (varsayılan bağlayıcının kısıtlamaları altında) eşleşen bir değer dizisi. Bu oluşturucu parametre almazsa, Object[] parameters = new Object[0] içinde olduğu gibi sıfır öğeli bir dizi veya nullkullanın. Bu dizideki bir değerle açıkça başlatılmayan herhangi bir nesne, bu nesne türü için varsayılan değeri içerir. Başvuru türündeki öğeler için bu değer şeklindedir null. Değer türü öğeleri için bu değer, belirli öğe türüne bağlı olarak 0, 0,0 veya falseşeklindedir.

Döndürülenler

Oluşturucuyla ilişkilendirilmiş sınıfın bir örneği.

Özel durumlar

sınıfı soyut.

-veya-

Oluşturucu bir sınıf başlatıcıdır.

Oluşturucu özel veya korumalıdır ve çağıran eksiktir MemberAccess.

Not: Windows Mağazası uygulamaları için .NET'te veya Taşınabilir Sınıf Kitaplığı'nda bunun yerine temel sınıf özel durumunu MemberAccessExceptionyakalayın.

Dizi, parameters bu oluşturucu tarafından kabul edilen türlerle eşleşen değerler içermiyor.

Çağrılan oluşturucu bir özel durum oluşturur.

Hatalı sayıda parametre geçirildi.

, ArgIteratorve RuntimeArgumentHandle türlerinin TypedReferenceoluşturulması desteklenmez.

Çağıranın gerekli kod erişim izni yok.

Açıklamalar

Dizideki parameters öğelerin sayısı, türü ve sırası, bu örnek tarafından yansıtılan oluşturucu için parametrelerin 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 emin olur ve parametrelerin geçerli olduğunu doğrular.

Tam olarak güvenilen kod için erişim kısıtlamaları yoksayılır. Yani, koda tam olarak güvenildiğinde yansıma kullanılarak özel oluşturuculara, yöntemlere, alanlara ve özelliklere erişilebilir ve çağrılabilir.

Not

Örnek oluşturucuları olmayan bir değer türünün örneğini oluşturmak için yöntemini kullanın CreateInstance .

Bu yöntem, varsayılan değerleri kullanan aşağıdaki aşırı yüklenmiş sürüm için kullanışlı bir yöntemdir. Bu yöntem geçersiz kılınamaz.

Not

.NET Framework 2.0'dan başlayarak, çağıranın ReflectionPermission bayrağı verilmişse ve ortak olmayan üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess kısıtlanmışsa, bu yöntem ortak olmayan üyelere erişmek için kullanılabilir. (Bkz. Yansıma için GüvenlikLe İlgili Dikkat Edilmesi Gerekenler.) Bu işlevi kullanmak için uygulamanızın 3.5 veya sonraki .NET Framework hedeflemesi gerekir.

Şunlara uygulanır

Invoke(BindingFlags, Binder, Object[], CultureInfo)

Kaynak:
ConstructorInfo.cs
Kaynak:
ConstructorInfo.cs
Kaynak:
ConstructorInfo.cs

Türetilmiş bir sınıfta uygulandığında, belirtilen bağımsız değişkenlerle bu tarafından ConstructorInfo yansıtılan oluşturucuyu belirtilen Binderöğesinin kısıtlamaları altında çağırır.

public:
 abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract 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 MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Parametreler

invokeAttr
BindingFlags

BindingFlags Bağlama türünü belirten değerlerden biri.

binder
Binder

Binder Bir ö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 bindernullBinder.DefaultBinding kullanılır.

parameters
Object[]

bu oluşturucunun parametrelerinin sayısı, sırası ve türüyle, kısıtlamaları binderaltında eşleştirmek için kullanılan tür Object dizisi. Bu oluşturucu parametre gerektirmiyorsa, Object[] parameters = new Object[0] gibi sıfır öğe içeren bir dizi geçirin. Bu dizideki bir değerle açıkça başlatılmayan herhangi bir nesne, bu nesne türü için varsayılan değeri içerir. Başvuru türündeki öğeler için bu değer şeklindedir null. Değer türü öğeleri için bu değer, belirli öğe türüne bağlı olarak 0, 0,0 veya falseşeklindedir.

culture
CultureInfo

CultureInfo Türlerin zorlamasını idare etmek için kullanılan. Bu ise null, CultureInfo geçerli iş parçacığı için kullanılır.

Döndürülenler

Oluşturucuyla ilişkilendirilmiş sınıfın bir örneği.

Özel durumlar

Dizi, parameters kısıtlamaları altında bu oluşturucu tarafından kabul edilen türlerle bindereşleşen değerler içermez.

Çağrılan oluşturucu bir özel durum oluşturur.

Hatalı sayıda parametre geçirildi.

, ArgIteratorve RuntimeArgumentHandle türlerinin TypedReferenceoluşturulması desteklenmez.

Çağıranın gerekli kod erişim izinleri yok.

sınıfı soyut.

-veya-

Oluşturucu bir sınıf başlatıcıdır.

Oluşturucu özel veya korumalıdır ve çağıran eksiktir MemberAccess.

Açıklamalar

Dizideki parameters öğelerin sayısı, türü ve sırası, bu örnek tarafından yansıtılan oluşturucu için parametrelerin 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 sayı, sıra ve türde olduğundan emin olur.

Tam olarak güvenilen kod için erişim kısıtlamaları yoksayılır. Yani, koda tam olarak güvenildiğinde yansıma kullanılarak özel oluşturuculara, yöntemlere, alanlara ve özelliklere erişilebilir ve çağrılabilir.

Not

Örnek oluşturucuları olmayan bir değer türünün örneğini oluşturmak için yöntemini kullanın CreateInstance .

Not

.NET Framework 2.0'dan başlayarak, çağıranın ReflectionPermission bayrağı verilmişse ve ortak olmayan üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess kısıtlanmışsa, bu yöntem ortak olmayan üyelere erişmek için kullanılabilir. (Bkz. Yansıma için GüvenlikLe İlgili Dikkat Edilmesi Gerekenler.) Bu işlevi kullanmak için uygulamanızın 3.5 veya sonraki .NET Framework hedeflemesi gerekir.

Ayrıca bkz.

Şunlara uygulanır