Activator.CreateInstance Yöntem

Tanım

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 nullise, 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 nullise, 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 nullise, 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 nullise, 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 typeNamenull.

Eşleşen oluşturucu bulunamadı.

typeName assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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 nullise, 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 nullise, 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 nullise, 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 nullise, 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 typeNamenull.

Eşleşen oluşturucu bulunamadı.

typeName assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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 nullise, 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 nullise, 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 nullise, 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 nullise, 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 assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs

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 nullise, 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 nullise, 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 nullise, 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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Kaynak:
Activator.cs
Kaynak:
Activator.cs
Kaynak:
Activator.cs

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 nullise, 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 nullise, 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 nullise, 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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(Type, Object[], Object[])

Kaynak:
Activator.cs
Kaynak:
Activator.cs
Kaynak:
Activator.cs

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 nullise, 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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(String, String, Object[])

Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs

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 nullise, 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 assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.

COM türü 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Dikkat

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Adlandırılmış derlemeyi ve belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak adı belirtilen türün bir örneğini oluşturur.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityInfo);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityInfo As Evidence) As ObjectHandle

Parametreler

assemblyName
String

typeName adlı türün arandığı derlemenin adı. assemblyName nullise, 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 nullise, 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 nullise, 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 nullise, 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 assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneği oluşturulamıyor veya bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(Type, Object[])

Kaynak:
Activator.cs
Kaynak:
Activator.cs
Kaynak:
Activator.cs

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 nullise, 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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Taşınabilir Sınıf Kitaplığıiçin .NET'te bunun yerine temel sınıf özel durumunu yakalayı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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.

Eşleşen ortak oluşturucu bulunamadı.

Not: Windows Mağazası uygulamaları veya Taşınabilir Sınıf Kitaplığıiçin .NET'te bunun yerine temel sınıf özel durumunu yakalayı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, 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(Type, Boolean)

Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs

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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(String, String)

Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs
Kaynak:
Activator.RuntimeType.cs

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 nullise, 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 assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut bir sınıfın örneğini oluşturamazsınız veya bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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, PersonInfoadlı 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(ActivationContext, String[])

Belirtilen 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 bir RuntimeTypedeğildir.

-veya-

type açık bir genel türdür (yani, ContainsGenericParameters özelliği truedö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 Taşınabilir Sınıf Kitaplığıiçin .NET'te bunun yerine temel sınıf özel durumunu yakalayı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ü GetTypeFromProgID veya GetTypeFromCLSIDaracılığıyla alınamadı.

Eşleşen ortak oluşturucu bulunamadı.

Not: Windows Mağazası uygulamaları veya Taşınabilir Sınıf Kitaplığıiçin .NET'te bunun yerine temel sınıf özel durumunu yakalayı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, 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 Güvenlik Konuları.) Bu işlevselliği kullanmak için uygulamanızın .NET Framework 3.5 veya sonraki bir sürümü hedeflemesi gerekir.

Şunlara uygulanır

CreateInstance(ActivationContext)

Belirtilen ActivationContext 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 nullise, 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 domainnull.

Eşleşen ortak oluşturucu bulunamadı.

typeName assemblyNamebulunamadı.

assemblyName bulunamadı.

Çağıranın bu oluşturucuyu çağırma izni yok.

Soyut türün örneği oluşturulamıyor.

-veya-

Bu üye geç bağlama mekanizmasıyla çağrıldı.

Yansıma aracılığıyla çağrılan oluşturucu bir özel durum oluşturdu.

COM türü 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

T

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 Taşınabilir Sınıf Kitaplığıiçin .NET'te bunun yerine temel sınıf özel durumunu yakalayın.

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.

Şunlara uygulanır