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
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, adı belirtilen uzak etki alanında 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, adı belirtilen uzak etki alanında 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şturucuyu 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şturucuyu 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, adı belirtilen uzak etki alanında 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 assemblyName
null
, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
true
araması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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için typeName
bildirilen resmi türlerle zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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. uzak UrlAttribute 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ğeri olmayan örnekler için Nullable<T> sarmalanmamış olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
domain
veya typeName
şeklindedir null
.
Eşleşen bir oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür türünden 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
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, adı belirtilen uzak etki alanında 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 assemblyName
null
, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
true
araması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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için typeName
bildirilen resmi türlerle zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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 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 tutulan 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ğeri olmayan örnekler için Nullable<T> sarmalanmamış olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
domain
veya typeName
şeklindedir null
.
Eşleşen bir oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür türünden 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
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
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);
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);
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 assemblyName
null
, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
true
araması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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için typeName
bildirilen resmi türlerle zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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 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 tutulan 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ğeri olmayan örnekler için Nullable<T> sarmalanmamış olması gereken bir tanıtıcı.
Özel durumlar
typeName
, null
değeridir.
Eşleşen bir oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür türünden 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir 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
.NET Framework 2.0'dan başlayarak, çağıran bayrağıyla verildiyse ReflectionPermission 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 sınırlıysa, bu yöntem abonelik dışı türler ve üyeler oluşturmak 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
CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])
- 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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için type
bildirilen resmi türlerle zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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 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 tutulan 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> başvuru.
Özel durumlar
type
, null
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür türünden MarshalByRefObjecttüretilmez.
-veya-
öğesini içeren type
derleme, ile Saveoluşturulmuş 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 yoktur.
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 bir 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
.NET Framework 2.0'dan başlayarak, bu yöntem çağıranın bayrağıyla verildiyse ReflectionPermission ve abonelik dışı türlerin ve üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlıysa, abonelik dışı türlere ve ü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
CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)
- 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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için type
bildirilen resmi türlerin zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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> başvuru.
Özel durumlar
type
, null
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani ContainsGenericParameters özelliği döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, ArgIterator, , Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya 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 yoktur.
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 bir oluşturucu bulunamadı.
type
bir COM nesnesidir, ancak türü elde etmek 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
.NET Framework 2.0'dan başlayarak, bu yöntem çağıranın bayrağıyla verildiyse ReflectionPermission ve nonpublic türlerini ve üyelerini içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlıysa, abonelik dışı türlere ve ü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
CreateInstance(Type, Object[], Object[])
- 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle uzak 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> başvuru.
Özel durumlar
type
, null
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani ContainsGenericParameters özelliği döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, ArgIterator, , Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya 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 yoktur.
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 genel oluşturucu bulunamadı.
type
bir COM nesnesidir, ancak türü elde etmek 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
.NET Framework 2.0'dan başlayarak, çağıranın bayrağıyla verilmişse 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ürlere 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
CreateInstance(String, String, Object[])
- 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);
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);
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 assemblyName
null
, 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 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 tutulan 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> sarmalanmamış olması gereken bir tanıtıcı.
Özel durumlar
typeName
, null
değeridir.
Eşleşen genel oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, ArgIterator, , Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya 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 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir 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 activationAttributes
belirtilen bir hedefte uzaktan etkinleştirme denenirken bir hata oluştu.
Açıklamalar
Dönüş değerini açmak için kullanın ObjectHandle.Unwrap .
Not
.NET Framework 2.0'dan başlayarak, çağıranın bayrağıyla verilmişse ReflectionPermission ve abonelik dışı türlerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle ReflectionPermissionFlag.RestrictedMemberAccess sınırlıysa, bu yöntem abonelik dışı türler oluşturmak 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
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 assemblyName
null
, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
true
araması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 binder
null
, 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 null
iseargs
, parametre alan oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
Oluşturucu için typeName
bildirilen resmi türlerle zorlamasını args
yöneten kültüre özgü bilgiler. ise culture
null
, 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 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 tutulan 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ğeri olmayan örnekler için Nullable<T> sarmalanmamış olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName
, null
değeridir.
Eşleşen bir oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür türünden 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir 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
.NET Framework 2.0'dan başlayarak, çağıran bayrağıyla verildiyse ReflectionPermission 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 sınırlıysa, bu yöntem abonelik dışı türler ve üyeler oluşturmak 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
CreateInstance(Type, Object[])
- 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 null
iseargs
, parametre alan 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> başvuru.
Özel durumlar
type
, null
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
öğesini içeren type
derleme, ile Saveoluşturulmuş 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 yoktur.
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.
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 genel oluşturucu bulunamadı.
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 MissingMemberExceptionyakalayın.
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, nesnesini String 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 dizeyi başlatmak 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 çağırmak için her diziyi CreateInstance(Type, Object[]) 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
.NET Framework 2.0'dan başlayarak, çağıranın bayrağıyla verilmiş ReflectionPermission olması 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 sınırlıysa, bu yöntem abonelik dışı türlere 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
CreateInstance(Type, Boolean)
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
- Kaynak:
- Activator.RuntimeType.cs
Bu türün parametresiz oluşturucuyu 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
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
öğesini içeren type
derleme, ile Saveoluşturulmuş dinamik bir derlemedir.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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 genel 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
.NET Framework 2.0'dan başlayarak, ç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, bu yöntem abonelik dışı türlere ve ü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
CreateInstance(String, String)
- 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);
public static System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
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 assemblyName
null
, 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> sarmalanmamış olması gereken bir tanıtıcı.
Özel durumlar
typeName
, null
değeridir.
Eşleşen genel oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir 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ı derlemede adlı Person
PersonInfo
bir sınıfı tanımlar.
Person
sınıfının 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 eklenecek PersonInfo.dll başvurusu gerektirir.
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 derleme başvurusu ekleyemezsiniz ve türün üyelerine erken bağlı ç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 atamak ve değerini Person
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.dll olan bir derlemeyi belirtirsiniz
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.
Not
.NET Framework 2.0'dan başlayarak, ç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 sınırlıysa, bu yöntem abonelik dışı türler oluşturmak 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
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> sarmalanmamış 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 nesnesi 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
Bu türün parametresiz oluşturucuyu 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
değeridir.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani özelliği ContainsGenericParameters döndürür true
).
type
bir TypeBuilderolamaz.
-veya-
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
öğesini içeren type
derleme, ile Saveoluşturulmuş dinamik bir derlemedir.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
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.
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 genel oluşturucu bulunamadı.
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 MissingMemberExceptionyakalayın.
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 namespace System;
ref class DynamicInstanceList
{
private:
static String^ instanceSpec = "System.EventArgs;System.Random;" +
"System.Exception;System.Object;System.Version";
public:
static void Main()
{
array<String^>^ instances = instanceSpec->Split(';');
Array^ instlist = Array::CreateInstance(Object::typeid, 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");
for each (Object^ o in instlist)
{
Console::WriteLine("Type: {0}\nValue: {1}\nHashCode: {2}\n",
o->GetType()->FullName, o->ToString(), o->GetHashCode());
}
}
};
int main()
{
DynamicInstanceList::Main();
}
// 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
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şturucu erişilebilir olmalıdır.
Not
.NET Framework 2.0'dan başlayarak, çağıranın bayrağıyla verilmiş ReflectionPermission olması 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 sınırlıysa, bu yöntem abonelik dışı türlere 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
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> sarmalanmamış 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 nesnesi 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 assemblyName
null
, 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> sarmalanmamış olması gereken bir tanıtıcı.
- Öznitelikler
Özel durumlar
typeName
veya domain
şeklindedir null
.
Eşleşen genel oluşturucu bulunamadı.
typename
içinde assemblyName
bulunamadı.
assemblyName
bulunamadı.
Çağıranın bu oluşturucuyu çağırma izni yoktur.
Soyut türün örneği oluşturulamaz.
-veya-
Bu üye bir geç bağlanma mekanizması ile ç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ı.
, , ArgIterator, Voidve RuntimeArgumentHandle türlerinin TypedReferenceveya bu tür 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
CLR'nin şu anda yüklü olan sürümden sonraki bir sürümü için derlendi. .NET Framework 2.0, 3.0 ve 3.5 sürümlerinin tümünün CLR sürüm 2.0 kullandığını unutmayın.
Bir derleme veya modül iki farklı kanıtla iki kez yüklendi.
-veya-
Derleme adı veya kod tabanı geçersiz.
Açıklamalar
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
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> ();
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.
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 MissingMemberExceptionyakalayın.
Açıklamalar
Genel CreateInstance<T>() yöntem, tür parametreleri tarafından belirtilen türlerin örneğini uygulamak için derleyiciler tarafından kullanılır. Örneğin, aşağıdaki genel yöntemde , (gcnew T()
C++'da) genel new T()
yöntemini kullanırCreateInstance<T>().
public:
generic <typename T> where T:gcnew()
static T Bar()
{
return gcnew 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 CreateInstance<T>() derleme zamanında bilinmesi gerektiğinden, 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, gcnew
C++'ta). Derleme zamanında tür bilinmiyorsa, genel olmayan bir aşırı yüklemeyi 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ğlanan oluşturucu çözümlemesi sağlar.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin