ConstructorInfo.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 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 |
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 null
kullanı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
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 bayrağıyla verildiyse ReflectionPermission ve ortak olmayan üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlıysa, 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şlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü 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 binder
null
Binder.DefaultBinding
kullanılır.
- parameters
- Object[]
bu oluşturucunun parametrelerinin sayısı, sırası ve türüyle, kısıtlamaları binder
altı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 binder
eş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.
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 bayrağıyla verildiyse ReflectionPermission ve ortak olmayan üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlıysa, 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şlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.