Activator.CreateInstance 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 parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak, belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak, belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) |
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(Type, Object[], Object[]) |
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(String, String, Object[]) |
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(Type, Object[]) |
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(Type, Boolean) |
Bu türün parametresiz oluşturucusunu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(String, String) |
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance(ActivationContext, String[]) |
Belirtilen nesne tarafından belirlenen ve belirtilen ActivationContext özel etkinleştirme verileriyle etkinleştirilen türün bir örneğini oluşturur. |
| CreateInstance(Type) |
Bu türün parametresiz oluşturucusunu kullanarak belirtilen türün bir örneğini oluşturur. |
| CreateInstance(ActivationContext) |
Belirtilen ActivationContext nesne tarafından belirlenen türün bir örneğini oluşturur. |
| CreateInstance(AppDomain, String, String) |
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur. |
| CreateInstance<T>() |
Parametresiz oluşturucuyu kullanarak belirtilen genel tür parametresi tarafından belirlenen türün bir örneğini oluşturur. |
CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Dikkat
Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak, belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle
Parametreler
- domain
- AppDomain
Adlı typeName türün oluşturulduğu etki alanı.
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
truearamasının büyük/küçük harfe duyarlı olmadığını belirtmek için; false aramanın büyük/küçük harfe duyarlı olduğunu belirtmek içintypeName.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının typeName birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak typeName için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını typeName yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle tek UrlAttribute bir nesne içeren bir dizidir. , UrlAttribute uzak bir nesneyi etkinleştirmek için gereken URL'yi belirtir.
- securityAttributes
- Evidence
Güvenlik ilkesi kararları almak ve kod izinleri vermek için kullanılan bilgiler.
Döndürülenler
Yeni oluşturulan nesneye erişmek için veya null değer içermeyen örnekler için Nullable<T> kaldırılması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
domain veya typeNamenull.
Eşleşen oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
Bir konağın kısıtlı güvenlik izinlerine sahip bir uygulama etki alanında kod yürütmesi gerektiğinde kullanın CreateInstance .
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
Şunlara uygulanır
CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak, belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle
Parametreler
- domain
- AppDomain
Adlı typeName türün oluşturulduğu etki alanı.
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
truearamasının büyük/küçük harfe duyarlı olmadığını belirtmek için; false aramanın büyük/küçük harfe duyarlı olduğunu belirtmek içintypeName.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının typeName birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak typeName için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını typeName yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
Döndürülenler
Yeni oluşturulan nesneye erişmek için veya null değer içermeyen örnekler için Nullable<T> kaldırılması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
domain veya typeNamenull.
Eşleşen oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
Bir konağın kısıtlı güvenlik izinlerine sahip bir uygulama etki alanında kod yürütmesi gerektiğinde kullanın CreateInstance .
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
Şunlara uygulanır
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle
Parametreler
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
truearamasının büyük/küçük harfe duyarlı olmadığını belirtmek için; false aramanın büyük/küçük harfe duyarlı olduğunu belirtmek içintypeName.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının typeName birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak typeName için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını typeName yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
Döndürülenler
Yeni oluşturulan örneğe erişmek için veya null değer içermeyen örnekler için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName, null'e eşittir.
Eşleşen oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess kısıtlanmışsa, abonelik dışı türler ve üyeler oluşturmak için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static object? CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public static object CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj
Public Shared Function CreateInstance (type As Type, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının type birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak type için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını type yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
Döndürülenler
Yeni oluşturulan nesneye veya null değer içermeyen örneklere Nullable<T> yönelik bir başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Açıklamalar
Çağrılacak oluşturucu, belirtilen bağlayıcı ve bağlama özniteliklerinin kısıtlamaları altında belirtilen bağımsız değişken listesiyle en özel eşleşmeyi sağlamalıdır.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türlerin ve üyelerin izin kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere ve üyelere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture);
public static object? CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture);
public static object CreateInstance(Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Shared Function CreateInstance (type As Type, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının type birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak type için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını type yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
Döndürülenler
Yeni oluşturulan nesneye veya null değer içermeyen örneklere Nullable<T> yönelik bir başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Açıklamalar
Çağrılacak oluşturucu, belirtilen bağlayıcı ve bağlama özniteliklerinin kısıtlamaları altında belirtilen bağımsız değişken listesiyle en özel eşleşmeyi sağlamalıdır.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve nonpublic türlerini ve üyelerini içeren derlemenin verme kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere ve üyelere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(Type, Object[], Object[])
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args, cli::array <System::Object ^> ^ activationAttributes);
public static object? CreateInstance(Type type, object?[]? args, object?[]? activationAttributes);
public static object CreateInstance(Type type, object[] args, object[] activationAttributes);
static member CreateInstance : Type * obj[] * obj[] -> obj
Public Shared Function CreateInstance (type As Type, args As Object(), activationAttributes As Object()) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
Döndürülenler
Yeni oluşturulan nesneye veya null değer içermeyen örneklere Nullable<T> yönelik bir başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Açıklamalar
Çağrılacak oluşturucunun erişilebilir olması ve belirtilen bağımsız değişken listesiyle en özel eşleşmeyi sağlaması gerekir.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türleri içeren derlemenin izin kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(String, String, Object[])
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName, object?[]? activationAttributes);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, object[] activationAttributes);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle
Parametreler
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere erişmek için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName, null'e eşittir.
Eşleşen ortak oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
activationAttributes bir UrlAttribute
dizi.
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Çağrılan oluşturucu bir özel durum oluşturur.
-veya-
içinde activationAttributesbelirtilen bir hedefte uzaktan etkinleştirme denenirken bir hata oluştu.
Açıklamalar
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türlerin izin kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, nonpublic türleri oluşturmak için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Dikkat
Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle
Parametreler
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
truearamasının büyük/küçük harfe duyarlı olmadığını belirtmek için; false aramanın büyük/küçük harfe duyarlı olduğunu belirtmek içintypeName.
- bindingAttr
- BindingFlags
Oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının typeName birleşimi. Sıfır ise bindingAttr , ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
Oluşturucuyu aramak ve tanımlamak typeName için ve args kullanan bindingAttr bir nesne. ise bindernull, varsayılan bağlayıcı kullanılır.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için args bildirilen resmi türlerle zorlamasını typeName yöneten kültüre özgü bilgiler. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak bir nesneyi etkinleştirmek için gereken URL'yi belirten tek UrlAttribute bir nesne içeren bir dizidir.
Bu parametre istemci tarafından etkinleştirilen nesnelerle ilgilidir. İstemci etkinleştirmesi, geriye dönük uyumluluk için korunan ancak yeni geliştirme için önerilmez eski bir teknolojidir. Dağıtılmış uygulamalar bunun yerine Windows Communication Foundation kullanmalıdır.
- securityInfo
- Evidence
Güvenlik ilkesi kararları almak ve kod izinleri vermek için kullanılan bilgiler.
Döndürülenler
Yeni oluşturulan nesneye erişmek için veya null değer içermeyen örnekler için Nullable<T> kaldırılması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName, null'e eşittir.
Eşleşen oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes boş bir dizi değildir ve oluşturulan tür'den MarshalByRefObjecttüretilmez.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess kısıtlanmışsa, abonelik dışı türler ve üyeler oluşturmak için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(Type, Object[])
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type, ... cli::array <System::Object ^> ^ args);
public:
static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args);
public static object CreateInstance(Type type, params object[] args);
public static object? CreateInstance(Type type, params object?[]? args);
public static object CreateInstance(Type type, object[] args);
static member CreateInstance : Type * obj[] -> obj
Public Shared Function CreateInstance (type As Type, ParamArray args As Object()) As Object
Public Shared Function CreateInstance (type As Type, args As Object()) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
- args
- Object[]
Çağrılacak oluşturucunun parametrelerini sayı, sıra ve tür olarak eşleşen bir bağımsız değişken dizisi. Boş bir dizi veya argsisenull, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
Döndürülenler
Yeni oluşturulan nesneye veya null değer içermeyen örneklere Nullable<T> yönelik bir başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
-veya-
En iyi eşleşen args oluşturucunun bağımsız değişkenleri vardır varargs .
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Örnekler
Aşağıdaki örnek bir String nesne oluşturmak için yöntemini çağırırCreateInstance(Type, Object[]). On dördüncü konumdan String.String(Char[], Int32, Int32) başlayarak bir karakter dizisinden on öğe içeren bir dize örneği oluşturmak için oluşturucuyu çağırır.
using System;
public class Example
{
public static void Main()
{
// Initialize array of characters from a to z.
char[] chars = new char[26];
for (int ctr = 0; ctr < 26; ctr++)
chars[ctr] = (char) (ctr + 0x0061);
object obj = Activator.CreateInstance(typeof(string),
new object[] { chars, 13, 10 } );
Console.WriteLine(obj);
}
}
// The example displays the following output:
// nopqrstuvw
open System
// Initialize array of characters from a to z.
let chars = [| 'a' .. 'z' |]
let obj = Activator.CreateInstance(typeof<string>, chars[13..22])
printfn $"{obj}"
// The example displays the following output:
// nopqrstuvw
Module Example
Public Sub Main()
' Initialize array of characters from a to z.
Dim chars(25) As Char
For ctr As Short = 0 To 25
chars(ctr) = ChrW(ctr + &h0061)
Next
Dim obj As Object = Activator.CreateInstance(GetType(String),
{ chars, 13, 10 })
Console.WriteLine(obj)
End Sub
End Module
' The example displays the following output:
' nopqrstuvw
Aşağıdaki örnek, öğeleri bir oluşturucuya geçirilecek bağımsız değişkenler olan pürüzlü bir String dizi oluşturur. Örnek daha sonra uygun dize oluşturucuyu CreateInstance(Type, Object[]) çağırmak için her diziyi yöntemine geçirir.
using System;
public class Example
{
public static void Main()
{
char[] characters = { 'a', 'b', 'c', 'd', 'e', 'f' };
object[][] arguments = new object[3][] { new object[] { characters },
new object[] { characters, 1, 4 },
new object[] { characters[1], 20 } };
for (int ctr = 0; ctr <= arguments.GetUpperBound(0); ctr++) {
object[] args = arguments[ctr];
object result = Activator.CreateInstance(typeof(string), args);
Console.WriteLine("{0}: {1}", result.GetType().Name, result);
}
}
}
// The example displays the following output:
// String: abcdef
// String: bcde
// String: bbbbbbbbbbbbbbbbbbbb
open System
let chars = [| 'a' .. 'f' |]
let arguments =
[| chars
chars[1..4]
Array.create 20 chars[1] |]
for args in arguments do
let result =
Activator.CreateInstance(typeof<string>, args)
printfn $"{result.GetType().Name}: {result}"
// The example displays the following output:
// String: abcdef
// String: bcde
// String: bbbbbbbbbbbbbbbbbbbb
Module Example
Public Sub Main()
Dim characters() As Char = { "a"c, "b"c, "c"c, "d"c, "e"c, "f"c }
Dim arguments()() As Object = new Object(2)() { New Object() { characters },
New Object() { characters, 1, 4 },
New Object() { characters(1), 20 } }
For ctr As Integer = 0 To arguments.GetUpperBound(0)
Dim args() As Object = arguments(ctr)
Dim result As Object = Activator.CreateInstance(GetType(String), args)
Console.WriteLine("{0}: {1}", result.GetType().Name, result)
Next
End Sub
End Module
' The example displays the following output:
' String: abcdef
' String: bcde
' String: bbbbbbbbbbbbbbbbbbbb
Açıklamalar
Çağrılacak oluşturucunun erişilebilir olması ve belirtilen bağımsız değişken listesiyle en özel eşleşmeyi sağlaması gerekir.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türleri içeren derlemenin izin kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(Type, Boolean)
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Bu türün parametresiz oluşturucusunu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object? CreateInstance(Type type, bool nonPublic);
public static object CreateInstance(Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj
Public Shared Function CreateInstance (type As Type, nonPublic As Boolean) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
- nonPublic
- Boolean
true ortak veya nonpublic parametresiz oluşturucu eşleşebiliyorsa; false yalnızca ortak bir parametresiz oluşturucu eşleşebiliyorsa.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere Nullable<T> başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Açıklamalar
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve nonpublic türlerini ve üyelerini içeren derlemenin verme kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere ve üyelere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(String, String)
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")]
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance(string assemblyName, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(string assemblyName, string typeName);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Type and its constructor could be removed")>]
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle
Parametreler
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere erişmek için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName, null'e eşittir.
Eşleşen ortak oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneğini oluşturamazsınız veya bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Örnekler
Aşağıdaki örnek, adlı bir derlemede adlı PersonPersonInfobir sınıfı tanımlar. Sınıfın Person biri parametresiz olan iki oluşturucuya sahip olduğunu unutmayın.
using System;
public class Person
{
private string _name;
public Person()
{ }
public Person(string name)
{
this._name = name;
}
public string Name
{ get { return this._name; }
set { this._name = value; } }
public override string ToString()
{
return this._name;
}
}
type Person(name) =
member val Name = name with get, set
override this.ToString() = this.Name
new () = Person Unchecked.defaultof<string>
Public Class Person
Private _name As String
Public Sub New()
End Sub
Public Sub New(name As String)
Me._name = name
End Sub
Public Property Name As String
Get
Return Me._name
End Get
Set
Me._name = value
End Set
End Property
Public Overrides Function ToString() As String
Return Me._name
End Function
End Class
Aşağıdaki örnek, sınıfını CreateInstance(String, String) örneklemek Person için yöntemini çağırır. Projeye eklenmesi için PersonInfo.dll başvurusu gerekir.
CreateInstance(String, String) yöntemi sınıf parametresiz oluşturucuyu Person çağırdığından, örnek özelliğine Name bir değer atar.
using System;
using System.Runtime.Remoting;
public class Example
{
public static void Main()
{
ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
Person p = (Person) handle.Unwrap();
p.Name = "Samuel";
Console.WriteLine(p);
}
}
// The example displays the following output:
// Samuel
open System
let handle = Activator.CreateInstance("PersonInfo", "Person")
let p = handle.Unwrap() :?> Person
p.Name <- "Samuel"
printfn $"{p}"
// The example displays the following output:
// Samuel
Imports System.Runtime.Remoting
Module Example
Public Sub Main()
Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
Dim p As Person = CType(handle.Unwrap(), Person)
p.Name = "Samuel"
Console.WriteLine(p)
End Sub
End Module
' The example displays the following output:
' Samuel
Ancak, CreateInstance makine sınırlarını aşan veya tasarım zamanında bilinmeyen bir türün örneğini oluşturmak için sık sık çağrılır. Bu durumda, projeye derlemeye başvuru ekleyemezsiniz ve türün üyelerine erken bağlanan çağrılar yapamazsınız. Bu sınırlamayı geçici olarak çözmek için aşağıdaki örnek, nesnesinin CreateInstanceName özelliğine bir değer Person atamak ve değerini görüntülemek için yansıma ile birlikte yöntemini kullanır.
using System;
using System.Reflection;
using System.Runtime.Remoting;
public class Example
{
public static void Main()
{
ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
object p = handle.Unwrap();
Type t = p.GetType();
PropertyInfo prop = t.GetProperty("Name");
if (prop != null)
prop.SetValue(p, "Samuel");
MethodInfo method = t.GetMethod("ToString");
object retVal = method.Invoke(p, null);
if (retVal != null)
Console.WriteLine(retVal);
}
}
// The example displays the following output:
// Samuel
open System
let handle =
Activator.CreateInstance("PersonInfo", "Person")
let p = handle.Unwrap()
let t = p.GetType()
let prop = t.GetProperty "Name"
if not (isNull prop) then
prop.SetValue(p, "Samuel")
let method = t.GetMethod "ToString"
let retVal = method.Invoke(p, null)
if not (isNull retVal) then
printfn $"{retVal}"
// The example displays the following output:
// Samuel
Imports System.Reflection
Imports System.Runtime.Remoting
Module Example
Public Sub Main()
Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
Dim p As Object = handle.Unwrap()
Dim t As Type = p.GetType()
Dim prop As PropertyInfo = t.GetProperty("Name")
if Not prop Is Nothing Then
prop.SetValue(p, "Samuel")
End If
Dim method As MethodInfo = t.GetMethod("ToString")
Dim retVal As Object = method.Invoke(p, Nothing)
If Not retVal Is Nothing Then
Console.WriteLine(retVal)
End If
End Sub
End Module
' The example displays the following output:
' Samuel
Açıklamalar
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
assemblyName aşağıdakilerden biri olabilir:
Yolu veya dosya uzantısı olmayan bir derlemenin basit adı. Örneğin, yolu ve adı .\bin\TypeExtensions.dllolan bir derleme için belirtebilirsiniz
TypeExtensions.basit adı, sürümü, kültürü ve ortak anahtar belirtecini içeren imzalı derlemenin tam adı; örneğin, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".
Ortak dil çalışma zamanının derlemeleri tanımlama ve yükleme hakkında daha fazla bilgi için bkz. Çalışma Zamanı Derlemeleri Nasıl Bulur? Derleme konumlarını tanımlamak için uygulama yapılandırma dosyasını kullanma hakkında bilgi için bkz. Derlemenin Konumunu Belirtme. Bulunursa assemblyName , varsayılan bağlamda yüklenir.
.NET Core 3.0 ve sonraki sürümlerinde, bu API tarafından tetiklenen derleme yükleri geçerli değerinden AssemblyLoadContext.CurrentContextualReflectionContextetkilenir.
Not
Çağıran bayrağıyla verildiyse ReflectionPermission ve abonelik dışı türleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess kısıtlanmışsa, bu yöntem, abonelik dışı türler oluşturmak için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(ActivationContext, String[])
Belirtilen nesne tarafından belirlenen ve belirtilen ActivationContext özel etkinleştirme verileriyle etkinleştirilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext, cli::array <System::String ^> ^ activationCustomData);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(ActivationContext activationContext, string[] activationCustomData);
static member CreateInstance : ActivationContext * string[] -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (activationContext As ActivationContext, activationCustomData As String()) As ObjectHandle
Parametreler
- activationContext
- ActivationContext
Oluşturulacak nesneyi belirten bir etkinleştirme bağlam nesnesi.
- activationCustomData
- String[]
Özel etkinleştirme verileri içeren bir Unicode dize dizisi.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere erişmek için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
Açıklamalar
ObjectHandle.Unwrap Dönüş değerini açmak için yöntemini kullanın.
Etkinleştirme bağlamı, etki alanı ilkesini ayarlamak ve uygulama tabanlı bir güvenlik modeli sağlamak için bildirim tabanlı etkinleştirme sırasında kullanılır. sınıfı, ActivationContext uygulama bildirimine erişim sağlayan bir ApplicationIdentity nesne içerir. Daha fazla bilgi için sınıfına ApplicationSecurityManager bakın.
Ayrıca bkz.
Şunlara uygulanır
CreateInstance(Type)
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
- Kaynak:
- Activator.cs
Bu türün parametresiz oluşturucusunu kullanarak belirtilen türün bir örneğini oluşturur.
public:
static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance(Type type);
public static object? CreateInstance(Type type);
static member CreateInstance : Type -> obj
Public Shared Function CreateInstance (type As Type) As Object
Parametreler
- type
- Type
Oluşturulacak nesnenin türü.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere Nullable<T> başvuru.
Özel durumlar
type, null'e eşittir.
type bir RuntimeTypedeğildir.
-veya-
type açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true).
type bir TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
-veya-
içeren type derleme ile Saveoluşturulan dinamik bir derlemedir.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
type bir COM nesnesidir, ancak türü almak için kullanılan sınıf tanımlayıcısı geçersiz veya tanımlanan sınıf kaydedilmemiş.
type geçerli bir tür değil.
Örnekler
Aşağıdaki kod örneği, yönteminin nasıl çağrılduğunu CreateInstance(Type) gösterir. Birkaç farklı türün örnekleri oluşturulur ve bunların varsayılan değerleri görüntülenir.
using System;
class DynamicInstanceList
{
private static string instanceSpec = "System.EventArgs;System.Random;" +
"System.Exception;System.Object;System.Version";
public static void Main()
{
string[] instances = instanceSpec.Split(';');
Array instlist = Array.CreateInstance(typeof(object), instances.Length);
object item;
for (int i = 0; i < instances.Length; i++)
{
// create the object from the specification string
Console.WriteLine("Creating instance of: {0}", instances[i]);
item = Activator.CreateInstance(Type.GetType(instances[i]));
instlist.SetValue(item, i);
}
Console.WriteLine("\nObjects and their default values:\n");
foreach (object o in instlist)
{
Console.WriteLine("Type: {0}\nValue: {1}\nHashCode: {2}\n",
o.GetType().FullName, o.ToString(), o.GetHashCode());
}
}
}
// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type: System.EventArgs
// Value: System.EventArgs
// HashCode: 46104728
//
// Type: System.Random
// Value: System.Random
// HashCode: 12289376
//
// Type: System.Exception
// Value: System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type: System.Object
// Value: System.Object
// HashCode: 30015890
//
// Type: System.Version
// Value: 0.0
// HashCode: 1048575
open System
let instanceSpec =
"System.EventArgs;System.Random;System.Exception;System.Object;System.Version"
let instances = instanceSpec.Split ';'
let instlist = Array.zeroCreate instances.Length
let mutable item = obj ()
for i = 0 to instances.Length - 1 do
// create the object from the specification string
printfn $"Creating instance of: {instances.[i]}"
item <- Activator.CreateInstance(Type.GetType instances.[i])
instlist.[i] <- item
printfn "\nObjects and their default values:\n"
for o in instlist do
printfn $"Type: {o.GetType().FullName}\nValue: {o}\nHashCode: {o.GetHashCode()}\n"
// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type: System.EventArgs
// Value: System.EventArgs
// HashCode: 46104728
//
// Type: System.Random
// Value: System.Random
// HashCode: 12289376
//
// Type: System.Exception
// Value: System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type: System.Object
// Value: System.Object
// HashCode: 30015890
//
// Type: System.Version
// Value: 0.0
// HashCode: 1048575
Class DynamicInstanceList
Private Shared instanceSpec As String = "System.EventArgs;System.Random;" + _
"System.Exception;System.Object;System.Version"
Public Shared Sub Main()
Dim instances() As String = instanceSpec.Split(";")
Dim instlist As Array = Array.CreateInstance(GetType(Object), instances.Length)
Dim item As Object
For i As Integer = 0 To instances.Length -1
' create the object from the specification string
Console.WriteLine("Creating instance of: {0}", instances(i))
item = Activator.CreateInstance(Type.GetType(instances(i)))
instlist.SetValue(item, i)
Next i
Console.WriteLine(Environment.NewLine + "Objects and their default values:" + Environment.NewLine)
For Each o As Object In instlist
Console.WriteLine("Type: {0}" + Environment.NewLine + "Value: {1}" + _
Environment.NewLine + "HashCode: {2}" + Environment.NewLine, _
o.GetType().FullName, o.ToString(), o.GetHashCode())
Next o
End Sub
End Class
' This program will display output similar to the following:
'
' Creating instance of: System.EventArgs
' Creating instance of: System.Random
' Creating instance of: System.Exception
' Creating instance of: System.Object
' Creating instance of: System.Version
'
' Objects and their default values:
'
' Type: System.EventArgs
' Value: System.EventArgs
' HashCode: 46104728
'
' Type: System.Random
' Value: System.Random
' HashCode: 12289376
'
' Type: System.Exception
' Value: System.Exception: Exception of type 'System.Exception' was thrown.
' HashCode: 55530882
'
' Type: System.Object
' Value: System.Object
' HashCode: 30015890
'
' Type: System.Version
' Value: 0.0
' HashCode: 1048575
Açıklamalar
Çağrılacak oluşturucuya erişilebilir olmalıdır.
Not
Bu yöntem, çağıranın bayrağıyla verilmiş ReflectionPermission olması ve abonelik dışı türleri içeren derlemenin izin kümesinin çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlı olması durumunda, abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansıma için Güvenlik Konuları.) 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
CreateInstance(ActivationContext)
Belirtilen ActivationContext nesne tarafından belirlenen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(ActivationContext activationContext);
static member CreateInstance : ActivationContext -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (activationContext As ActivationContext) As ObjectHandle
Parametreler
- activationContext
- ActivationContext
Oluşturulacak nesneyi belirten bir etkinleştirme bağlam nesnesi.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere erişmek için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
Açıklamalar
ObjectHandle.Unwrap Dönüş değerini açmak için yöntemini kullanın.
Etkinleştirme bağlamı, etki alanı ilkesini ayarlamak ve uygulama tabanlı bir güvenlik modeli sağlamak için bildirim tabanlı etkinleştirme sırasında kullanılır. sınıfı, ActivationContext uygulama bildirimine erişim sağlayan bir ApplicationIdentity nesne içerir. Daha fazla bilgi için sınıfına ApplicationSecurityManager bakın.
Ayrıca bkz.
Şunlara uygulanır
CreateInstance(AppDomain, String, String)
Adlandırılmış derlemeyi ve parametresiz oluşturucuyu kullanarak belirtilen uzak etki alanında adı belirtilen türün bir örneğini oluşturur.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance(AppDomain domain, string assemblyName, string typeName);
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
[<System.Security.SecurityCritical>]
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle
Parametreler
- domain
- AppDomain
Adlı typeName türün oluşturulduğu uzak etki alanı.
- assemblyName
- String
Adlı türün arandığı derlemenin adı typeName . ise assemblyNamenull, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere erişmek için Nullable<T> eşlenmemiş olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName veya domainnull.
Eşleşen ortak oluşturucu bulunamadı.
typeName içinde assemblyNamebulunamadı.
assemblyName bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yok.
Soyut türün örneği oluşturulamıyor.
-veya-
Bu üye geç bağlama mekanizmasıyla çağrıldı.
Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.
COM türü veya GetTypeFromCLSIDaracılığıyla GetTypeFromProgID alınamadı.
TypedReference, ArgIterator, Void, ve RuntimeArgumentHandle türlerinin veya bu türlerin dizilerinin oluşturulması desteklenmez.
assemblyName geçerli bir derleme değil.
-veya-
Ortak dil çalışma zamanı (CLR) sürüm 2.0 veya üzeri şu anda yüklüdür ve assemblyName şu anda yüklü olan sürümden sonraki bir CLR sürümü için derlendi. .NET Framework'ün 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0'ı kullandığını unutmayın.
Derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
Bir konağın kısıtlı güvenlik izinlerine sahip bir uygulama etki alanında kod yürütmesi gerektiğinde kullanın CreateInstance .
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
Şunlara uygulanır
CreateInstance<T>()
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Parametresiz oluşturucuyu kullanarak belirtilen genel tür parametresi tarafından belirlenen türün bir örneğini oluşturur.
public:
generic <typename T>
static T CreateInstance();
public static T CreateInstance<T>();
public static T CreateInstance<T>() where T : allows ref struct;
static member CreateInstance : unit -> 'T
Public Shared Function CreateInstance(Of T) () As T
Tür Parametreleri
- T
Oluşturulacak tür.
Döndürülenler
Yeni oluşturulan nesneye veya null örneklere Nullable<T> başvuru.
Özel durumlar
Soyut bir sınıfın örneği oluşturulamıyor veya için T belirtilen türün parametresiz oluşturucu yok.
Açıklamalar
Genel CreateInstance<T>() yöntem, tür parametreleri tarafından belirtilen türlerin örneklemesini uygulamak için derleyiciler tarafından kullanılır. Örneğin, aşağıdaki genel yöntemde new T() uygulaması genel yöntemini kullanır CreateInstance<T>() .
public static T Factory<T>() where T : new()
{
return new T();
}
let factory<'T when 'T : (new: unit -> 'T)> =
new 'T()
Public Shared Function Factory(Of T As New)() As T
Return New T()
End Function
Genel olarak, türün derleme zamanında bilinmesi gerektiğinden CreateInstance<T>() , uygulama kodunda genel yöntemin kullanımı yoktur. Tür derleme zamanında biliniyorsa, normal örnekleme söz dizimi kullanılabilir (new C# dilinde işleç, New Visual Basic'te). Derleme zamanında tür bilinmiyorsa, genel olmayan bir aşırı yüklemesini CreateInstanceçağırabilirsiniz.
Bağımsız değişken listelerini alan genel yöntemin CreateInstance<T>() aşırı yüklemesi yoktur, çünkü genel olmayan aşırı yüklemeleri CreateInstance zaten geç bağlı oluşturucu çözümlemesi sağlar.