Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Method

Definition

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

Überlädt

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

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

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

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

Erstellt mit dem parameterlosen Konstruktor dieses Typs eine Instanz des angegebenen Typs.Creates an instance of the specified type using that type's parameterless constructor.

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt und mit den angegebenen benutzerdefinierten Aktivierungsdaten aktiviert wird.Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

Erstellt mit dem parameterlosen Konstruktor dieses Typs eine Instanz des angegebenen Typs.Creates an instance of the specified type using that type's parameterless constructor.

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt wurde.Creates an instance of the type designated by the specified ActivationContext object.

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

Erstellt mit dem parameterlosen Konstruktor eine Instanz des Typs, der vom angegebenen generischen Typparameter festgelegt wurde.Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

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

Warnung

Diese API ist jetzt veraltet.

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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);
[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

Parameter

domain
AppDomain AppDomain AppDomain AppDomain

Die Domäne, in der der Typ typeName erstellt wird.The domain where the type named typeName is created.

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

true, wenn bei der Suche nach typeName die Groß-/Kleinschreibung nicht beachtet werden soll; false, wenn bei der Suche die Groß-/Kleinschreibung beachtet werden soll.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the typeName constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des typeName-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the typeName constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. In der Regel ein Array, das ein einzelnes UrlAttribute-Objekt enthält.This is typically an array that contains a single UrlAttribute object. Das UrlAttribute gibt die URL an, die zum Aktivieren eines Remoteobjekts erforderlich ist.The UrlAttribute specifies the URL that is required to activate a remote object.

securityAttributes
Evidence Evidence Evidence Evidence

Informationen, die bei Entscheidungen bezüglich Sicherheitsrichtlinien und beim Gewähren von Codeberechtigungen herangezogen werden.Information used to make security policy decisions and grant code permissions.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

domain oder typeName ist null.domain or typeName is null.

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Eine Instanz einer abstrakten Klasse kann nicht erstellt werden, oder dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Das Erstellen der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle oder von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Der am besten übereinstimmende Konstruktor args verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Hinweise

Verwenden CreateInstance Sie, wenn ein Host Code in einer Anwendungsdomäne mit eingeschränkten Sicherheits Berechtigungen ausführen muss.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Diese Methode verwendet SecurityAction.LinkDemand , um für den unmittelbaren Aufrufer die volle Vertrauenswürdigkeit zu erfordern.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
die Möglichkeit, Vorgänge für alle Typmember aufzurufen.for the ability to invoke operations on all type members. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

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

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Parameter

domain
AppDomain AppDomain AppDomain AppDomain

Die Domäne, in der der Typ typeName erstellt wird.The domain where the type named typeName is created.

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

true, wenn bei der Suche nach typeName die Groß-/Kleinschreibung nicht beachtet werden soll; false, wenn bei der Suche die Groß-/Kleinschreibung beachtet werden soll.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the typeName constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des typeName-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the typeName constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

domain oder typeName ist null.domain or typeName is null.

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Eine Instanz einer abstrakten Klasse kann nicht erstellt werden, oder dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Das Erstellen der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle oder von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Der am besten übereinstimmende Konstruktor args verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Hinweise

Verwenden CreateInstance Sie, wenn ein Host Code in einer Anwendungsdomäne mit eingeschränkten Sicherheits Berechtigungen ausführen muss.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Diese Methode verwendet SecurityAction.LinkDemand , um für den unmittelbaren Aufrufer die volle Vertrauenswürdigkeit zu erfordern.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicherheit

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
die Möglichkeit, Vorgänge für alle Typmember aufzurufen.for the ability to invoke operations on all type members. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

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);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Parameter

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

true, wenn bei der Suche nach typeName die Groß-/Kleinschreibung nicht beachtet werden soll; false, wenn bei der Suche die Groß-/Kleinschreibung beachtet werden soll.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the typeName constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des typeName-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the typeName constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Eine Instanz einer abstrakten Klasse kann nicht erstellt werden, oder dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Das Erstellen der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle oder von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Der am besten übereinstimmende Konstruktor args verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Hinweise

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Ab kann diese Methode verwendet werden, um nicht öffentliche Typen und Member zu erstellen ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenundMemberenthält.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, eingeschränkt ist. für den Berechtigungs Satz des Aufrufers oder für eine Teilmenge davon.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen und Member, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types and members regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem type-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the type constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des type-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the type constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den type-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Die Assembly mit type ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

- oder --or- Der mit args am besten übereinstimmende Konstruktor verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

Das Aufrufen des Konstruktors löst eine Ausnahme aus.The constructor being called throws an exception.

Der Aufrufer verfügt über keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig, oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Hinweise

Der aufzurufende Konstruktor muss die spezifischsten Übereinstimmung mit der angegebenen Argumentliste unter den Einschränkungen des angegebenen Binders und Bindungs Attributs bereitstellen.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen und Member verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzdernichtöffentlichenTypenundMemberaufdenBerechtigungsSatzdesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist. an eine Teilmenge von.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
zum Bereitstellen von beweisen.for supplying evidence. Zugehörige Enumeration:ControlEvidenceAssociated enumeration: ControlEvidence

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen und Member, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types and members regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem type-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the type constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des type-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the type constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den type-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- Die Assembly mit type ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

- oder --or- Der mit args am besten übereinstimmende Konstruktor verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

Das Aufrufen des Konstruktors löst eine Ausnahme aus.The constructor being called throws an exception.

Der Aufrufer verfügt über keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig, oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Hinweise

Der aufzurufende Konstruktor muss die spezifischsten Übereinstimmung mit der angegebenen Argumentliste unter den Einschränkungen des angegebenen Binders und Bindungs Attributs bereitstellen.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen und Member verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenundMemberenthält.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, eingeschränkt ist. für den Berechtigungs Satz des Aufrufers oder für eine Teilmenge davon.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen und Member, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types and members regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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);
static member CreateInstance : Type * obj[] * obj[] -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Die Assembly mit type ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

- oder --or- Der mit args am besten übereinstimmende Konstruktor verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

Das Aufrufen des Konstruktors löst eine Ausnahme aus.The constructor being called throws an exception.

Der Aufrufer verfügt über keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Es wurde kein entsprechender öffentlicher Konstruktor gefunden.No matching public constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig , oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Hinweise

Der aufzurufende Konstruktor muss zugänglich sein und muss die spezifischsten Übereinstimmung mit der angegebenen Argumentliste bereitstellen.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenenthält,aufdieGewährungdesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist. Legen Sie oder auf eine Teilmenge fest.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

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);
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

Parameter

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.No matching public constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Das Erstellen der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle oder von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- activationAttributes ist kein UrlAttribute-activationAttributes is not a UrlAttribute

Array.array.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Bei dem Versuch einer Remoteaktivierung in einem in activationAttributes angegebenen Ziel ist ein Fehler aufgetreten.An error occurred when attempting remote activation in a target specified in activationAttributes.

Hinweise

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Ab kann diese Methode verwendet werden, um nicht öffentliche Typen zu erstellen ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-Flagerteiltwurde,undwennderBerechtigungsSatzdernichtöffentlichenTypenaufdenBerechtigungsSatzdesAufrufersoderaufeineTeilmengedesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Warnung

Diese API ist jetzt veraltet.

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

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);
[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

Parameter

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean Boolean

true, wenn bei der Suche nach typeName die Groß-/Kleinschreibung nicht beachtet werden soll; false, wenn bei der Suche die Groß-/Kleinschreibung beachtet werden soll.true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen.A combination of zero or more bit flags that affect the search for the typeName constructor. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Ein Objekt, das bindingAttr und args für die Suche und Bestimmung des typeName-Konstruktors verwendet.An object that uses bindingAttr and args to seek and identify the typeName constructor. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.If binder is null, the default binder is used.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen.Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können.An array of one or more attributes that can participate in activation. Dies ist üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object.

Der Parameter ist vom Client aktivierten Objekten zugeordnet.This parameter is related to client-activated objects. Die Clientaktivierung ist eine veraltete Technologie, die zum Zweck der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten, jedoch nicht für die Neuentwicklung empfohlen wird.Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.Distributed applications should instead use Windows Communication Foundation.

securityInfo
Evidence Evidence Evidence Evidence

Informationen, die bei Entscheidungen bezüglich Sicherheitsrichtlinien und beim Gewähren von Codeberechtigungen herangezogen werden.Information used to make security policy decisions and grant code permissions.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

Es wurde kein übereinstimmender Konstruktor gefunden.No matching constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Eine Instanz einer abstrakten Klasse kann nicht erstellt werden, oder dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Das Erstellen der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle oder von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- activationAttributes ist kein leeres Array, und der erstellte Typ wird nicht von MarshalByRefObject abgeleitet.activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject.

- oder --or- Der am besten übereinstimmende Konstruktor args verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Hinweise

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Ab kann diese Methode verwendet werden, um nicht öffentliche Typen und Member zu erstellen ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenundMemberenthält.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, eingeschränkt ist. für den Berechtigungs Satz des Aufrufers oder für eine Teilmenge davon.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen und Member, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types and members regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args);
public static object CreateInstance (Type type, object[] args);
static member CreateInstance : Type * obj[] -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

args
Object[]

Ein Array von Argumenten, das bezüglich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmt.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Wenn args ein leeres Array oder null ist, wird der (parameterlose) Konstruktor aufgerufen, der keine Parameter akzeptiert.If args is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- Die Assembly mit type ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

- oder --or- Der mit args am besten übereinstimmende Konstruktor verfügt über varargs-Argumente.The constructor that best matches args has varargs arguments.

Das Aufrufen des Konstruktors löst eine Ausnahme aus.The constructor being called throws an exception.

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MemberAccessException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MissingMemberException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.No matching public constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig , oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Beispiele

Im folgenden Beispiel wird die CreateInstance(Type, Object[]) -Methode aufgerufen, String um ein-Objekt zu erstellen.The following example calls the CreateInstance(Type, Object[]) method to create a String object. Der String.String(Char[], Int32, Int32) Konstruktor wird aufgerufen, um eine Zeichenfolge zu instanziieren, die zehn Elemente aus einem Zeichen Array enthält, beginnend bei der vierzehnten Position.It calls the String.String(Char[], Int32, Int32) constructor to instantiate a string that contains ten elements from a character array starting at the fourteenth position.

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
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

Im folgenden Beispiel wird ein Jagged Array erstellt, dessen Elemente Argumente sind, die an String einen-Konstruktor übergeben werden sollen.The following example creates a jagged array whose elements are arguments to be passed to a String constructor. Im Beispiel wird dann jedes Array an die CreateInstance(Type, Object[]) -Methode übergeben, um den entsprechenden Zeichenfolgenkonstruktor aufzurufen.The example then passes each array to the CreateInstance(Type, Object[]) method to invoke the appropriate string constructor.

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
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

Hinweise

Der aufzurufende Konstruktor muss zugänglich sein und muss die spezifischsten Übereinstimmung mit der angegebenen Argumentliste bereitstellen.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenenthält,aufdieGewährungdesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist. Legen Sie oder auf eine Teilmenge fest.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

Erstellt mit dem parameterlosen Konstruktor dieses Typs eine Instanz des angegebenen Typs.Creates an instance of the specified type using that type's parameterless constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object CreateInstance (Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

nonPublic
Boolean Boolean Boolean Boolean

true, wenn ein öffentlicher oder nicht öffentlicher parameterloser Konstruktor als Entsprechung möglich ist; false, wenn nur ein öffentlicher parameterloser Konstruktor als Entsprechung möglich ist.true if a public or nonpublic parameterless constructor can match; false if only a public parameterless constructor can match.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- Die Assembly, die type enthält, ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

Der aufgerufene Konstruktor löst eine Ausnahme aus.The constructor being called throws an exception.

Der Aufrufer verfügt über keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Es wurde kein entsprechender öffentlicher Konstruktor gefunden.No matching public constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig , oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Hinweise

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen und Member verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenundMemberenthält.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, eingeschränkt ist. für den Berechtigungs Satz des Aufrufers oder für eine Teilmenge davon.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen und Member, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types and members regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::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

Parameter

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.No matching public constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Sie können keine Instanz einer abstrakten Klasse erstellen, oder dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.You cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Beispiele

Im folgenden Beispiel wird eine Klasse Person mit dem Namen in einer Assembly mit dem Namen PersonInfodefiniert.The following example defines a class named Person in an assembly named PersonInfo. Beachten Sie, Person dass die-Klasse über zwei Konstruktoren verfügt, von denen eine parameterless ist.Note that the Person class has two constructors, one of which is parameterless.

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;
   }
}
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

Im folgenden Beispiel wird die CreateInstance(String, String) -Methode aufgerufen, um die Person -Klasse zu instanziieren.The following example calls the CreateInstance(String, String) method to instantiate the Person class. Es muss ein Verweis auf personinfo. dll zum Projekt hinzugefügt werden.It requires a reference to PersonInfo.dll to be added to the project. Da die CreateInstance(String, String) -Methode den Person Parameter losen Konstruktor der Klasse aufruft, wird der- Name Eigenschaft im Beispiel ein Wert zugewiesen.Because the CreateInstance(String, String) method calls the Person class parameterless constructor, the example assigns a value to its Name property.

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
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

CreateInstance Wird jedoch häufig aufgerufen, um einen Typ zu instanziieren, der Computer Grenzen überschreitet oder der zur Entwurfszeit nicht bekannt ist.However, CreateInstance is frequently called to instantiate a type that crosses machine boundaries or that is not known at design time. In diesem Fall können Sie keinen Verweis auf die Assembly in das Projekt einschließen und keine früh gebundenen Aufrufe an die Member des Typs durchführen.In this case, you cannot include a reference to the assembly in the project and cannot make early-bound calls to the type's members. Um diese Einschränkung zu umgehen, verwendet das folgende Beispiel die CreateInstance -Methode zusammen mit Reflektion, um der- Person Name Eigenschaft des Objekts einen Wert zuzuweisen und dessen Wert anzuzeigen.To work around this limitation, the following example uses the CreateInstance method along with reflection to assign a value to the Person object's Name property and to display its value.

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
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

Hinweise

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

assemblyNamekann eine der folgenden sein:assemblyName can be either of the following:

  • Der einfache Name einer Assembly ohne Pfad oder Dateierweiterung.The simple name of an assembly, without its path or file extension. Beispielsweise geben TypeExtensions Sie für eine Assembly an, deren Pfad und Name .\bin\typeextensions.dll.For example, you would specify TypeExtensions for an assembly whose path and name are .\bin\TypeExtensions.dll.

  • Der vollständige Name einer signierten Assembly, die aus dem einfachen Namen, der Version, der Kultur und dem öffentlichen Schlüssel Token besteht. Beispiel: "typeextensions, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 181869f 7435b51".The full name of a signed assembly, which consists of its simple name, version, culture, and public key token; for example, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".

Weitere Informationen dazu, wie die-Common Language Runtime Assemblys identifiziert und lädt, finden Sie unter so sucht Common Language Runtimenach Assemblys.For more information on how the common language runtime identifies and loads assemblies, see How the Runtime Locates Assemblies. Informationen zum Verwenden der Anwendungs Konfigurationsdatei zum Definieren von assemblystandorten finden Sie unter angeben des Speicher Orts einer Assembly.For information on using the application configuration file to define assembly locations, see Specifying an Assembly's Location. Wenn assemblyName gefunden wird, wird es im Standardkontext geladen.If assemblyName is found, it is loaded in the default context.

Hinweis

Ab kann diese Methode verwendet werden, um nicht öffentliche Typen zu erstellen ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenenthält,aufdieGewährungdesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist. Legen Sie oder auf eine Teilmenge fest.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen, unabhängig von deren Berechtigungs Satz.for accessing nonpublic types regardless of their grant set. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt und mit den angegebenen benutzerdefinierten Aktivierungsdaten aktiviert wird.Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

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

Parameter

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

Ein Aktivierungskontextobjekt, das das zu erstellende Objekt angibt.An activation context object that specifies the object to create.

activationCustomData
String[]

Ein Array von Unicode-Zeichenfolgen mit benutzerdefinierten Aktivierungsdaten.An array of Unicode strings that contain custom activation data.

Gibt zurück

Ein Handle, das für den Zugriff auf das neu erstellte Objekt entwrappt werden muss.A handle that must be unwrapped to access the newly created object.

Hinweise

Verwenden Sie ObjectHandle.Unwrap die-Methode, um den Rückgabewert zu entpacken.Use the ObjectHandle.Unwrap method to unwrap the return value.

Der Aktivierungs Kontext wird bei der Manifest-basierten Aktivierung verwendet, um die Domänen Richtlinie einzurichten und ein Anwendungs basiertes Sicherheitsmodell bereitzustellen.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. Die ActivationContext -Klasse enthält ApplicationIdentity ein Objekt, das Zugriff auf das Anwendungs Manifest bereitstellt.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Weitere Informationen finden Sie in den Ausführungen zur ApplicationSecurityManager-Klasse.For more information, see the ApplicationSecurityManager class.

Siehe auch

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

Erstellt mit dem parameterlosen Konstruktor dieses Typs eine Instanz des angegebenen Typs.Creates an instance of the specified type using that type's parameterless constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance (Type type);
static member CreateInstance : Type -> obj

Parameter

type
Type Type Type Type

Der Typ des zu erstellenden Objekts.The type of object to create.

Gibt zurück

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

type ist keine RuntimeType.type is not a RuntimeType.

- oder --or- type ist ein offener generischer Typ (die ContainsGenericParameters-Eigenschaft gibt folglich true zurück).type is an open generic type (that is, the ContainsGenericParameters property returns true).

type darf nicht TypeBuilder sein.type cannot be a TypeBuilder.

- oder --or- Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

- oder --or- Die Assembly, die type enthält, ist eine dynamische Assembly, die mit Save erstellt wurde.The assembly that contains type is a dynamic assembly that was created with Save.

Das Aufrufen des Konstruktors löst eine Ausnahme aus.The constructor being called throws an exception.

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MemberAccessException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz einer abstrakten Klasse erstellt werden, oder dieser Member wurde mit einem Mechanismus für die späte Bindung aufgerufen.Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MissingMemberException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.No matching public constructor was found.

type ist ein COM-Objekt, aber der Klassenbezeichner zum Abrufen des Typs ist ungültig , oder die bezeichnete Klasse wurde nicht registriert.type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type ist kein gültiger Typ.type is not a valid type.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die CreateInstance(Type) -Methode aufgerufen wird.The following code example demonstrates how to call the CreateInstance(Type) method. Es werden Instanzen von mehreren verschiedenen Typen erstellt, und ihre Standardwerte werden angezeigt.Instances of several different types are created and their default values are displayed.

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
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(vbNewLine + "Objects and their default values:" + vbNewLine)
        For Each o As Object In instlist
            Console.WriteLine("Type:     {0}" + vbNewLine + "Value:    {1}" + _
                vbNewLine + "HashCode: {2}" + vbNewLine, _
                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

Hinweise

Der aufzurufende Konstruktor muss verfügbar sein.The constructor to be invoked must be accessible.

Hinweis

Ab kann diese Methode für den Zugriff auf nicht öffentliche Typen verwendet werden ReflectionPermission ReflectionPermissionFlag.RestrictedMemberAccess ,wennderAufrufermitdem-FlagerteiltwurdeundwennderBerechtigungsSatzderAssembly,diedienichtöffentlichenTypenenthält,aufdieGewährungdesAufrufers.NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1beschränkt ist. Legen Sie oder auf eine Teilmenge fest.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Siehe Sicherheitsüberlegungen für die Reflektion.)(See Security Considerations for Reflection.)

Zur Verwendung dieser Funktionen sollte die Anwendung für .NET Framework 3,5.NET Framework 3.5 oder höher ausgelegt sein.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
für den Zugriff auf nicht öffentliche Typen, unabhängig von ihren Berechtigungs Sätzen.for accessing nonpublic types regardless of their grant sets. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt wurde.Creates an instance of the type designated by the specified ActivationContext object.

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

Parameter

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

Ein Aktivierungskontextobjekt, das das zu erstellende Objekt angibt.An activation context object that specifies the object to create.

Gibt zurück

Ein Handle, das für den Zugriff auf das neu erstellte Objekt entwrappt werden muss.A handle that must be unwrapped to access the newly created object.

Hinweise

Verwenden Sie ObjectHandle.Unwrap die-Methode, um den Rückgabewert zu entpacken.Use the ObjectHandle.Unwrap method to unwrap the return value.

Der Aktivierungs Kontext wird bei der Manifest-basierten Aktivierung verwendet, um die Domänen Richtlinie einzurichten und ein Anwendungs basiertes Sicherheitsmodell bereitzustellen.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. Die ActivationContext -Klasse enthält ApplicationIdentity ein Objekt, das Zugriff auf das Anwendungs Manifest bereitstellt.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Weitere Informationen finden Sie in den Ausführungen zur ApplicationSecurityManager-Klasse.For more information, see the ApplicationSecurityManager class.

Siehe auch

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des parameterlosen Konstruktors.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::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
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle

Parameter

domain
AppDomain AppDomain AppDomain AppDomain

Die Remotedomäne, in der der Typ typeName erstellt wird.The remote domain where the type named typeName is created.

assemblyName
String String String String

Der Name der Assembly, in der der Typ mit dem Namen typeName gesucht wird.The name of the assembly where the type named typeName is sought. Wenn assemblyNamenull ist, wird die derzeit ausgeführte Assembly durchsucht.If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Der vollqualifizierte Name des bevorzugten Typs.The fully qualified name of the preferred type.

Gibt zurück

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.A handle that must be unwrapped to access the newly created instance.

Ausnahmen

typeName oder domain ist null.typeName or domain is null.

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.No matching public constructor was found.

typename wurde in assemblyName nicht gefunden.typename was not found in assemblyName.

assemblyName wurde nicht gefunden.assemblyName was not found.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.The caller does not have permission to call this constructor.

Es kann keine Instanz eines abstrakten Typs erstellt werden.Cannot create an instance of an abstract type.

- oder --or-

Dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.This member was invoked with a late-binding mechanism.

Der Konstruktor, der durch Reflektion aufgerufen wurde, hat eine Ausnahme ausgelöst.The constructor, which was invoked through reflection, threw an exception.

Die Erstellung der Typen TypedReference, ArgIterator, Void und RuntimeArgumentHandle bzw. von Arrays dieser Typen wird nicht unterstützt.Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName ist keine gültige Assembly.assemblyName is not a valid assembly.

- oder --or- Die Common Language Runtime (CLR) Version 2.0 oder höher ist derzeit geladen, und assemblyName wurde für eine höhere CLR-Version als die derzeit geladene kompiliert.The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Beachten Sie, dass die .NET Framework-Versionen 2.0, 3.0 und 3.5 alle CLR Version 2.0 verwenden.Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

- oder --or-

Der Assemblyname oder die Codebasis ist ungültig.The assembly name or code base is invalid.

Hinweise

Verwenden CreateInstance Sie, wenn ein Host Code in einer Anwendungsdomäne mit eingeschränkten Sicherheits Berechtigungen ausführen muss.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Verwenden ObjectHandle.Unwrap Sie, um den Rückgabewert zu entpacken.Use ObjectHandle.Unwrap to unwrap the return value.

Hinweis

Diese Methode verwendet SecurityAction.LinkDemand , um für den unmittelbaren Aufrufer die volle Vertrauenswürdigkeit zu erfordern.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicherheit

SecurityPermission
die Möglichkeit zum Aufruf von nicht verwaltetem Code beim Erstellen einer Instanz eines Delegaten.for the ability to call unmanaged code when creating an instance of a delegate. Zugehörige Enumeration:UnmanagedCodeAssociated enumeration: UnmanagedCode

ReflectionPermission
die Möglichkeit, Vorgänge für alle Typmember aufzurufen.for the ability to invoke operations on all type members. Zugehörige Enumeration:MemberAccessAssociated enumeration: MemberAccess

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

Erstellt mit dem parameterlosen Konstruktor eine Instanz des Typs, der vom angegebenen generischen Typparameter festgelegt wurde.Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

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

Typparameter

T

Der zu erstellende Typ.The type to create.

Gibt zurück

T T T T

Ein Verweis auf das neu erstellte Objekt.A reference to the newly created object.

Ausnahmen

Fangen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassenausnahme MissingMemberException ab.In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Eine Instanz einer abstrakten Klasse kann nicht erstellt werden, oder der Typ, der für T angegeben ist, besitzt keinen parameterlosen Konstruktor.Cannot create an instance of an abstract class, or the type that is specified for T does not have a parameterless constructor.

Hinweise

Die CreateInstance<T>() generische-Methode wird von Compilern verwendet, um die Instanziierung von Typen zu implementieren, die durch Typparameter angegeben werden.The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters. In der folgenden generischen Methode verwendet die new T() -Implementierung von (gcnew T() in C++) z. b CreateInstance<T>() . die generische-Methode.For example, in the following generic method, the implementation of new T() (gcnew T() in C++) uses the CreateInstance<T>() generic method.

public:
    generic <typename T> where T:gcnew()
    static T Bar()
    {
        return gcnew T();
    }
public static T Factory<T>() where T : new()
{
    return new T();
}
Public Shared Function Factory(Of T As New)() As T
    Return New T()
End Function

Im Allgemeinen gibt es im Anwendungscode keine Verwendung CreateInstance<T>() für die generische Methode, da der Typ zum Zeitpunkt der Kompilierung bekannt sein muss.In general, there is no use for the CreateInstance<T>() generic method in application code, because the type must be known at compile time. Wenn der Typ zum Zeitpunkt der Kompilierung bekannt ist, kann die normale instanziationssyntaxnew verwendet werden C#( New Operator in gcnew , in C++Visual Basic).If the type is known at compile time, normal instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++). Wenn der Typ zur Kompilierzeit nicht bekannt ist, können Sie eine nicht generische Überladung von CreateInstanceaufrufen.If the type is not known at compile time, you can call a non-generic overload of CreateInstance.

Es gibt keine über Ladungen der CreateInstance<T>() generischen Methode, die Argumentlisten akzeptieren, da die nicht generischen über Ladungen von CreateInstance bereits spät gebundene Konstruktorauflösung bereitstellen.There are no overloads of the CreateInstance<T>() generic method that take argument lists, because the non-generic overloads of CreateInstance already provide late-bound constructor resolution.

Gilt für: