Freigeben über


AppDomain.CreateInstance Methode

Definition

Erstellt eine neue Instanz eines angegebenen Typs, der in einer angegebenen Assembly definiert ist.

Überlädt

CreateInstance(String, String)

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist.

CreateInstance(String, String, Object[])

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Ein Parameter gibt ein Array von Aktivierungsattributen an.

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

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Ordner, Bindungskennzeichnungen, Konstruktorargumente, kulturspezifische Informationen an, die zum Interpretieren von Argumenten und optionalen Aktivierungsattributen verwendet werden.

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

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Ordner, Bindungskennzeichnungen, Konstruktorargumente, kulturspezifische Informationen an, die zum Interpretieren von Argumenten, Aktivierungsattributen und Autorisierung zum Erstellen des Typs verwendet werden.

CreateInstance(String, String)

Quelle:
AppDomain.cs
Quelle:
AppDomain.cs
Quelle:
AppDomain.cs

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parameter

assemblyName
String

Der Anzeigename der Assembly. Siehe FullName.

typeName
String

Der vollqualifizierte Name des angeforderten Typs, einschließlich des Namespaces, aber nicht der Assembly, wie von der FullName-Eigenschaft zurückgegeben.

Gibt zurück

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeNameangegeben wird. Der Rückgabewert muss entwrappt werden, um auf das reale Objekt zuzugreifen.

Implementiert

Ausnahmen

Der Vorgang wird in einer nicht geladenen Anwendungsdomäne versucht.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer verfügt nicht über die Berechtigung, diesen Konstruktor aufzurufen.

Es wurde kein übereinstimmener öffentlicher Konstruktor gefunden.

typeName wurde in assemblyNamenicht gefunden.

Diese Instanz ist null.

Hinweise

Diese Methode ruft den parameterlosen Konstruktor für typeNameauf.

Informationen zum Format von assemblyNamefinden Sie unter AssemblyName.

Ein Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einer erfolgreichen Auslastung der Assembly in der Zielanwendungsdomäne. Da ein Assembly nicht MarshalByRefObjectist, versucht diese Methode, die Assembly für die geladene Assembly an die aktuelle Anwendungsdomäne zurückzugeben, versucht die Common Language Runtime, die Assembly in die aktuelle Anwendungsdomäne zu laden, und die Last schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, unterscheidet sich möglicherweise von der Assembly, die zuerst geladen wurde, wenn die Pfadeinstellungen für die beiden Anwendungsdomänen unterschiedlich sind.

Weitere Informationen

Gilt für:

CreateInstance(String, String, Object[])

Quelle:
AppDomain.cs
Quelle:
AppDomain.cs
Quelle:
AppDomain.cs

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Ein Parameter gibt ein Array von Aktivierungsattributen an.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Parameter

assemblyName
String

Der Anzeigename der Assembly. Siehe FullName.

typeName
String

Der vollqualifizierte Name des angeforderten Typs, einschließlich des Namespaces, aber nicht der Assembly, wie von der FullName-Eigenschaft zurückgegeben.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung teilnehmen können. In der Regel ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die URL angibt, die zum Aktivieren eines Remoteobjekts erforderlich ist.

Dieser Parameter bezieht sich auf clientaktive Objekte. Die Clientaktivierung ist eine ältere Technologie, die aus Gründen der Abwärtskompatibilität beibehalten wird, für die neue Entwicklung jedoch nicht empfohlen wird. Verteilte Anwendungen sollten stattdessen Windows Communication Foundation verwenden.

Gibt zurück

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeNameangegeben wird. Der Rückgabewert muss entwrappt werden, um auf das reale Objekt zuzugreifen.

Implementiert

Ausnahmen

Der Vorgang wird in einer nicht geladenen Anwendungsdomäne versucht.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer verfügt nicht über die Berechtigung, diesen Konstruktor aufzurufen.

Es wurde kein übereinstimmener öffentlicher Konstruktor gefunden.

Der Aufrufer kann keine Aktivierungsattribute für ein Objekt bereitstellen, das nicht von MarshalByRefObjecterbt.

typeName wurde in assemblyNamenicht gefunden.

Diese Instanz ist null.

Hinweise

Diese Methode ruft den parameterlosen Konstruktor für typeNameauf.

Informationen zum Format von assemblyNamefinden Sie unter AssemblyName.

Ein Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einer erfolgreichen Auslastung der Assembly in der Zielanwendungsdomäne. Da ein Assembly nicht MarshalByRefObjectist, versucht diese Methode, die Assembly für die geladene Assembly an die aktuelle Anwendungsdomäne zurückzugeben, versucht die Common Language Runtime, die Assembly in die aktuelle Anwendungsdomäne zu laden, und die Last schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, unterscheidet sich möglicherweise von der Assembly, die zuerst geladen wurde, wenn die Pfadeinstellungen für die beiden Anwendungsdomänen unterschiedlich sind.

Weitere Informationen

Gilt für:

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

Quelle:
AppDomain.cs
Quelle:
AppDomain.cs
Quelle:
AppDomain.cs

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Ordner, Bindungskennzeichnungen, Konstruktorargumente, kulturspezifische Informationen an, die zum Interpretieren von Argumenten und optionalen Aktivierungsattributen verwendet werden.

public:
 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 System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public 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);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

Parameter

assemblyName
String

Der Anzeigename der Assembly. Siehe FullName.

typeName
String

Der vollqualifizierte Name des angeforderten Typs, einschließlich des Namespaces, aber nicht der Assembly, wie von der FullName-Eigenschaft zurückgegeben.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob bei der Suche nach Groß-/Kleinschreibung unterschieden werden soll.

bindingAttr
BindingFlags

Eine Kombination aus null oder mehr Bit-Flags, die sich auf die Suche nach dem typeName-Konstruktor auswirken. Wenn bindingAttr null ist, wird eine Suche zwischen Groß- und Kleinschreibung für öffentliche Konstruktoren durchgeführt.

binder
Binder

Ein Objekt, das die Bindung, die Koersion von Argumenttypen, den Aufruf von Membern und das Abrufen von MemberInfo Objekten mithilfe von Spiegelung ermöglicht. Wenn binder null ist, wird der Standardordner verwendet.

args
Object[]

Die Argumente, die an den Konstruktor übergeben werden sollen. Dieses Array von Argumenten muss in Zahl, Reihenfolge und Eingabe der Parameter des aufgerufenen Konstruktors übereinstimmen. Wenn der parameterlose Konstruktor bevorzugt wird, muss args ein leeres Array oder null sein.

culture
CultureInfo

Kulturspezifische Informationen, die die Koersion von args an die für den typeName-Konstruktor deklarierten formalen Typen regeln. Wenn culturenullist, wird die CultureInfo für den aktuellen Thread verwendet.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung teilnehmen können. In der Regel ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die URL angibt, die zum Aktivieren eines Remoteobjekts erforderlich ist.

Dieser Parameter bezieht sich auf clientaktive Objekte. Die Clientaktivierung ist eine ältere Technologie, die aus Gründen der Abwärtskompatibilität beibehalten wird, für die neue Entwicklung jedoch nicht empfohlen wird. Verteilte Anwendungen sollten stattdessen Windows Communication Foundation verwenden.

Gibt zurück

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeNameangegeben wird. Der Rückgabewert muss entwrappt werden, um auf das reale Objekt zuzugreifen.

Ausnahmen

Der Vorgang wird in einer nicht geladenen Anwendungsdomäne versucht.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer verfügt nicht über die Berechtigung, diesen Konstruktor aufzurufen.

Es wurde kein übereinstimmende Konstruktor gefunden.

Der Aufrufer kann keine Aktivierungsattribute für ein Objekt bereitstellen, das nicht von MarshalByRefObjecterbt.

typeName wurde in assemblyNamenicht gefunden.

Diese Instanz ist null.

Hinweise

Informationen zum Format von assemblyNamefinden Sie unter AssemblyName.

Ein Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einer erfolgreichen Auslastung der Assembly in der Zielanwendungsdomäne. Da ein Assembly nicht MarshalByRefObjectist, versucht diese Methode, die Assembly für die geladene Assembly an die aktuelle Anwendungsdomäne zurückzugeben, versucht die Common Language Runtime, die Assembly in die aktuelle Anwendungsdomäne zu laden, und die Last schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, unterscheidet sich möglicherweise von der Assembly, die zuerst geladen wurde, wenn die Pfadeinstellungen für die beiden Anwendungsdomänen unterschiedlich sind.

Weitere Informationen

Gilt für:

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

Achtung

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.

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Ordner, Bindungskennzeichnungen, Konstruktorargumente, kulturspezifische Informationen an, die zum Interpretieren von Argumenten, Aktivierungsattributen und Autorisierung zum Erstellen des Typs verwendet werden.

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

Parameter

assemblyName
String

Der Anzeigename der Assembly. Siehe FullName.

typeName
String

Der vollqualifizierte Name des angeforderten Typs, einschließlich des Namespaces, aber nicht der Assembly, wie von der FullName-Eigenschaft zurückgegeben.

ignoreCase
Boolean

Ein boolescher Wert, der angibt, ob bei der Suche nach Groß-/Kleinschreibung unterschieden werden soll.

bindingAttr
BindingFlags

Eine Kombination aus null oder mehr Bit-Flags, die sich auf die Suche nach dem typeName-Konstruktor auswirken. Wenn bindingAttr null ist, wird eine Suche zwischen Groß- und Kleinschreibung für öffentliche Konstruktoren durchgeführt.

binder
Binder

Ein Objekt, das die Bindung, die Koersion von Argumenttypen, den Aufruf von Membern und das Abrufen von MemberInfo Objekten mithilfe von Spiegelung ermöglicht. Wenn binder null ist, wird der Standardordner verwendet.

args
Object[]

Die Argumente, die an den Konstruktor übergeben werden sollen. Dieses Array von Argumenten muss in Zahl, Reihenfolge und Eingabe der Parameter des aufgerufenen Konstruktors übereinstimmen. Wenn der parameterlose Konstruktor bevorzugt wird, muss args ein leeres Array oder null sein.

culture
CultureInfo

Kulturspezifische Informationen, die die Koersion von args an die für den typeName-Konstruktor deklarierten formalen Typen regeln. Wenn culturenullist, wird die CultureInfo für den aktuellen Thread verwendet.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung teilnehmen können. In der Regel ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die URL angibt, die zum Aktivieren eines Remoteobjekts erforderlich ist.

Dieser Parameter bezieht sich auf clientaktive Objekte. Die Clientaktivierung ist eine ältere Technologie, die aus Gründen der Abwärtskompatibilität beibehalten wird, für die neue Entwicklung jedoch nicht empfohlen wird. Verteilte Anwendungen sollten stattdessen Windows Communication Foundation verwenden.

securityAttributes
Evidence

Informationen, die zum Autorisieren der Erstellung von typeNameverwendet werden.

Gibt zurück

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeNameangegeben wird. Der Rückgabewert muss entwrappt werden, um auf das reale Objekt zuzugreifen.

Implementiert

Attribute

Ausnahmen

Der Vorgang wird in einer nicht geladenen Anwendungsdomäne versucht.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly für die aktuell geladene Laufzeit.

Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer verfügt nicht über die Berechtigung, diesen Konstruktor aufzurufen.

Es wurde kein übereinstimmende Konstruktor gefunden.

Der Aufrufer kann keine Aktivierungsattribute für ein Objekt bereitstellen, das nicht von MarshalByRefObjecterbt.

-oder-

securityAttributes ist nicht null. Wenn die ältere CAS-Richtlinie nicht aktiviert ist, sollte securityAttributesnull

typeName wurde in assemblyNamenicht gefunden.

Diese Instanz ist null.

Hinweise

Informationen zum Format von assemblyNamefinden Sie unter AssemblyName.

Ein Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einer erfolgreichen Auslastung der Assembly in der Zielanwendungsdomäne. Da ein Assembly nicht MarshalByRefObjectist, versucht diese Methode, die Assembly für die geladene Assembly an die aktuelle Anwendungsdomäne zurückzugeben, versucht die Common Language Runtime, die Assembly in die aktuelle Anwendungsdomäne zu laden, und die Last schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, unterscheidet sich möglicherweise von der Assembly, die zuerst geladen wurde, wenn die Pfadeinstellungen für die beiden Anwendungsdomänen unterschiedlich sind.

Weitere Informationen

Gilt für: