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, 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 ActivationContext nesnesi tarafından belirlenen ve belirtilen ö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 nesnesi 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
typeName
adlı türün oluşturulduğu etki alanı.
- assemblyName
- String
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
typeName
aramasının büyük/küçük harfe duyarlı olmadığını belirtmek true
; Aramanın büyük/küçük harfe duyarlı olduğunu belirtmek için false
.
- bindingAttr
- BindingFlags
typeName
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
typeName
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını typeName
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo kullanılır.
- activationAttributes
- Object[]
Etkinleştirmeye katılabilen bir veya daha fazla öznitelik dizisi. Bu genellikle tek bir UrlAttribute nesnesi içeren bir dizidir. UrlAttribute, uzak 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 eşlenmemiş olması gereken bir tanıtıcı veya değer içermeyen Nullable<T> örnekleri için null
.
- Öznitelikler
Özel durumlar
domain
veya typeName
null
.
Eşleşen oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
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 CreateInstance kullanın.
dönüş değerini açmak için ObjectHandle.Unwrap kullanın.
Ş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
typeName
adlı türün oluşturulduğu etki alanı.
- assemblyName
- String
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
typeName
aramasının büyük/küçük harfe duyarlı olmadığını belirtmek true
; Aramanın büyük/küçük harfe duyarlı olduğunu belirtmek için false
.
- bindingAttr
- BindingFlags
typeName
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
typeName
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını typeName
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo 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 bir UrlAttribute nesnesi 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 eşlenmemiş olması gereken bir tanıtıcı veya değer içermeyen Nullable<T> örnekleri için null
.
- Öznitelikler
Özel durumlar
domain
veya typeName
null
.
Eşleşen oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
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 CreateInstance kullanın.
dönüş değerini açmak için ObjectHandle.Unwrap kullanın.
Ş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
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
typeName
aramasının büyük/küçük harfe duyarlı olmadığını belirtmek true
; Aramanın büyük/küçük harfe duyarlı olduğunu belirtmek için false
.
- bindingAttr
- BindingFlags
typeName
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
typeName
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını typeName
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo 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 bir UrlAttribute nesnesi 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 sarmalanmamış olması gereken bir tanıtıcı veya değer içermeyen Nullable<T> örnekleri için null
.
Özel durumlar
typeName
null
.
Eşleşen oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
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 ObjectHandle.Unwrap kullanın.
Not
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse veublic olmayan türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle kısıtlanmışsa, bu yöntem kullanılabilir. (Bkz. Yansımaiçin
Ş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
type
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
type
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını type
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo 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 bir UrlAttribute nesnesi 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 başvuru veya değer içermeyen Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş dinamik bir derlemedir.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
Ç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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla 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
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türlerin ve üyelerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle sınırlıysa, bu yöntem abonelik dışı türlere ve üyelere erişmek için kullanılabilir. (Bkz. Yansımaiçin
Ş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
type
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
type
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını type
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo kullanılır.
Döndürülenler
Yeni oluşturulan nesneye başvuru veya değer içermeyen Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş dinamik bir derlemedir.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
Ç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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla 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
.NET Framework 2.0'dan başlayarak bu yöntem, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verilmişse veublic olmayan türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle kısıtlanmışsa, bu yöntem kullanılabilir. (Bkz. Yansımaiçin
Ş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.
args
boş bir dizi veya null
ise, 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 bir UrlAttribute nesnesi 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 başvuru veya değer içermeyen Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş dinamik bir derlemedir.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
Ç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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla 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
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle sınırlıysa, bu yöntem abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansımaiçin
Ş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
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, 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 bir UrlAttribute nesnesi 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 sarmalanmamış olması gereken bir tanıtıcı veya Nullable<T> örnekleri için null
.
Özel durumlar
typeName
null
.
Eşleşen ortak oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
activationAttributes
bir UrlAttribute değil
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-
activationAttributes
'de belirtilen bir hedefte uzaktan etkinleştirme denenirken bir hata oluştu.
Açıklamalar
dönüş değerini açmak için ObjectHandle.Unwrap kullanın.
Not
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türlerin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle sınırlıysa, bu yöntem abonelik dışı türler oluşturmak için kullanılabilir. (Bkz. Yansımaiçin
Ş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
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, yürütülen derlemede arama yapılır.
- typeName
- String
Örneği oluşturulacak türün tam adı.
- ignoreCase
- Boolean
typeName
aramasının büyük/küçük harfe duyarlı olmadığını belirtmek true
; Aramanın büyük/küçük harfe duyarlı olduğunu belirtmek için false
.
- bindingAttr
- BindingFlags
typeName
oluşturucu aramasını etkileyen sıfır veya daha fazla bit bayrağının birleşimi.
bindingAttr
sıfırsa, ortak oluşturucular için büyük/küçük harfe duyarlı bir arama yapılır.
- binder
- Binder
typeName
oluşturucuyu aramak ve tanımlamak için bindingAttr
ve args
kullanan bir nesne.
binder
null
ise, 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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
- culture
- CultureInfo
args
zorlamasını typeName
oluşturucu için bildirilen resmi türlerle yöneten kültüre özgü bilgiler.
culture
null
ise, geçerli iş parçacığının CultureInfo 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 bir UrlAttribute nesnesi 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 eşlenmemiş olması gereken bir tanıtıcı veya değer içermeyen Nullable<T> örnekleri için null
.
- Öznitelikler
Özel durumlar
typeName
null
.
Eşleşen oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
activationAttributes
boş bir dizi değildir ve oluşturulan tür MarshalByRefObjecttüretilmez.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
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 ObjectHandle.Unwrap kullanın.
Not
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse veublic olmayan türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle kısıtlanmışsa, bu yöntem kullanılabilir. (Bkz. Yansımaiçin
Ş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.
args
boş bir dizi veya null
ise, parametre içermeyen oluşturucu (parametresiz oluşturucu) çağrılır.
Döndürülenler
Yeni oluşturulan nesneye başvuru veya değer içermeyen Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş dinamik bir derlemedir.
-veya-
args
en iyi eşleşen oluşturucunun varargs
bağımsız değişkenleri vardır.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Not: Windows Mağazası uygulamaları veya
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
Not: Windows Mağazası uygulamaları veya
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, String nesnesi oluşturmak için CreateInstance(Type, Object[]) yöntemini çağırır. On dördüncü konumdan başlayarak bir karakter dizisinden on öğe içeren bir dize örneği oluşturmak için String.String(Char[], Int32, Int32) 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 String oluşturucuya geçirilecek bağımsız değişkenler olan pürüzlü bir 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ğırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle sınırlıysa, bu yöntem abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansımaiçin
Şunlara uygulanır
CreateInstance(Type, Boolean)
- 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
Ortak veya nonpublic parametresiz oluşturucunun eşleşip eşleşmediğini true
; Yalnızca ortak bir parametresiz oluşturucunun eşleşip eşleşmediğini false
.
Döndürülenler
Yeni oluşturulan nesneye başvuru veya Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş 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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla 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
.NET Framework 2.0'dan başlayarak bu yöntem, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verilmişse veublic olmayan türleri ve üyeleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle kısıtlanmışsa, bu yöntem kullanılabilir. (Bkz. Yansımaiçin
Ş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
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, 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 erişmek için sarmalanmamış olması gereken bir tanıtıcı veya Nullable<T> örnekleri için null
.
Özel durumlar
typeName
null
.
Eşleşen ortak oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya 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
ş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, PersonInfo
adlı derlemede Person
adlı 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, Person
sınıfını başlatmak için CreateInstance(String, String) yöntemini çağırır. Projeye eklenmesi için PersonInfo.dll başvurusu gerekir.
CreateInstance(String, String) yöntemi Person
sınıfı parametresiz oluşturucuyu çağırdığından, örnek Name
özelliğine 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ırlamaya geçici bir çözüm bulmak için aşağıdaki örnek, Person
nesnesinin Name
özelliğine bir değer atamak ve değerini görüntülemek için yansımayla birlikte CreateInstance 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 ObjectHandle.Unwrap kullanın.
assemblyName
şunlardan biri olabilir:
Yolu veya dosya uzantısı olmayan bir derlemenin basit adı. Örneğin, yolu ve adı olan bir derleme için
TypeExtensions
belirtebilirsiniz.\bin\TypeExtensions.dll.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 KonumBelirtme.
assemblyName
bulunursa, varsayılan bağlamda yüklenir.
Not
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle kısıtlanmışsa, bu yöntem abonelik dışı türler oluşturmak için kullanılabilir. (Bkz. Yansımaiçin
Şunlara uygulanır
CreateInstance(ActivationContext, String[])
Belirtilen ActivationContext nesnesi tarafından belirlenen ve belirtilen ö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 erişmek için sarmalanmamış olması gereken bir tanıtıcı veya Nullable<T> örnekleri için null
.
Açıklamalar
dönüş değerini açmak için ObjectHandle.Unwrap 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. ActivationContext sınıfı, uygulama bildirimine erişim sağlayan bir ApplicationIdentity nesnesi içerir. Daha fazla bilgi için ApplicationSecurityManager sınıfına 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ş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 başvuru veya Nullable<T> örnekleri için null
.
Özel durumlar
type
null
.
type
bir RuntimeType
değildir.
-veya-
type
açık bir genel türdür (yani, ContainsGenericParameters özelliği true
döndürür).
type
TypeBuilderolamaz.
-veya-
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya bu tür dizilerinin oluşturulması desteklenmez.
-veya-
type
içeren derleme, Saveile oluşturulmuş dinamik bir derlemedir.
Çağrılan oluşturucu bir özel durum oluşturur.
Çağıranın bu oluşturucuyu çağırma izni yok.
Not: Windows Mağazası uygulamaları veya
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
Eşleşen ortak oluşturucu bulunamadı.
Not: Windows Mağazası uygulamaları veya
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, CreateInstance(Type) yönteminin nasıl çağrılduğunu 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şturucuya erişilebilir olmalıdır.
Not
.NET Framework 2.0'dan başlayarak, çağırana ReflectionPermissionFlag.RestrictedMemberAccess bayrağıyla ReflectionPermission verildiyse ve abonelik dışı türleri içeren derlemenin izin kümesi çağıranın izin kümesiyle veya bunun bir alt kümesiyle sınırlıysa, bu yöntem abonelik dışı türlere erişmek için kullanılabilir. (Bkz. Yansımaiçin
Şunlara uygulanır
CreateInstance(ActivationContext)
Belirtilen ActivationContext nesnesi 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 erişmek için sarmalanmamış olması gereken bir tanıtıcı veya Nullable<T> örnekleri için null
.
Açıklamalar
dönüş değerini açmak için ObjectHandle.Unwrap 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. ActivationContext sınıfı, uygulama bildirimine erişim sağlayan bir ApplicationIdentity nesnesi içerir. Daha fazla bilgi için ApplicationSecurityManager sınıfına 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
typeName
adlı türün oluşturulduğu uzak etki alanı.
- assemblyName
- String
typeName
adlı türün arandığı derlemenin adı.
assemblyName
null
ise, 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 erişmek için sarmalanmamış olması gereken bir tanıtıcı veya Nullable<T> örnekleri için null
.
- Öznitelikler
Özel durumlar
typeName
veya domain
null
.
Eşleşen ortak oluşturucu bulunamadı.
typeName
assemblyName
bulunamadı.
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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.
TypedReference, ArgIterator, Voidve RuntimeArgumentHandle türlerinin veya 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
ş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 CreateInstance kullanın.
dönüş değerini açmak için ObjectHandle.Unwrap kullanın.
Ş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 başvuru veya Nullable<T> örnekleri için null
.
Özel durumlar
Soyut sınıfın örneği oluşturulamıyor veya T
için belirtilen türün parametresiz oluşturucu yok.
Not: Windows Mağazası uygulamaları veya
Açıklamalar
CreateInstance<T>() genel yöntemi, 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()
(C++'dagcnew T()
) uygulaması CreateInstance<T>() genel yöntemini kullanır.
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 derleme zamanında bilinmesi gerektiğinden, uygulama kodunda CreateInstance<T>() genel yöntemi kullanılamaz. Tür derleme zamanında biliniyorsa, normal örnekleme söz dizimi kullanılabilir (C# dilindenew
işleci, Visual Basic'te New
, C++'da gcnew
). Derleme zamanında tür bilinmiyorsa, CreateInstancegenel olmayan bir aşırı yüklemesini çağırabilirsiniz.
CreateInstance genel olmayan aşırı yüklemeleri zaten geç bağlanan oluşturucu çözümlemesi sağladığından, bağımsız değişken listelerini alan CreateInstance<T>() genel yönteminin aşırı yüklemesi yoktur.