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 Binder, Bindungsflags, Konstruktorargumente, kulturspezifische Informationen zum Interpretieren von Argumenten und optionale Aktivierungsattribute an.

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

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Binder, Bindungsflags, Konstruktorargumente, kulturspezifische Informationen zum Interpretieren von Argumenten, Aktivierungsattribute und die Autorisierung zum Erstellen des Typs an.

CreateInstance(String, String)

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 Namespace, jedoch ohne die Assembly, wie er von der FullName -Eigenschaft zurückgegeben wird.

Gibt zurück

ObjectHandle

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeName angegeben wird. Der Rückgabewert muss für den Zugriff auf das eigentliche Objekt entwrappt werden.

Implementiert

Ausnahmen

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly.

- oder - Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyName wurde mit einer höheren Version kompiliert.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.

typename wurde in assemblyName nicht gefunden.

Diese Instanz ist null.

Hinweise

Diese Methode ruft den parameterlosen Konstruktor für typeName auf.

Informationen zum Format von finden Sie AssemblyName unter assemblyName .

Der Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einem erfolgreichen Laden der Assembly in der Zielanwendungsdomäne. Da Assembly ein nicht MarshalByRefObject ist, versucht diese Methode, Assembly die 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 das Laden schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, kann sich von der Assembly unterscheiden, die zuerst geladen wurde, wenn sich die Pfadeinstellungen für die beiden Anwendungsdomänen unterscheiden.

Siehe auch

Gilt für

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.

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 Namespace, jedoch ohne die Assembly, wie er von der FullName -Eigenschaft zurückgegeben wird.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können. Üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.

Der Parameter ist vom Client aktivierten Objekten zugeordnet. 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. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.

Gibt zurück

ObjectHandle

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeName angegeben wird. Der Rückgabewert muss für den Zugriff auf das eigentliche Objekt entwrappt werden.

Implementiert

Ausnahmen

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly.

- oder - Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyName wurde mit einer höheren Version kompiliert.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.

Es wurde kein übereinstimmender öffentlicher Konstruktor gefunden.

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

typename wurde in assemblyName nicht gefunden.

Diese Instanz ist null.

Hinweise

Diese Methode ruft den parameterlosen Konstruktor für typeName auf.

Informationen zum Format von finden Sie AssemblyName unter assemblyName .

Der Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einem erfolgreichen Laden der Assembly in der Zielanwendungsdomäne. Da Assembly ein nicht MarshalByRefObject ist, versucht diese Methode, Assembly die 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 das Laden schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, kann sich von der Assembly unterscheiden, die zuerst geladen wurde, wenn sich die Pfadeinstellungen für die beiden Anwendungsdomänen unterscheiden.

Siehe auch

Gilt für

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 Binder, Bindungsflags, Konstruktorargumente, kulturspezifische Informationen zum Interpretieren von Argumenten und optionale Aktivierungsattribute an.

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 Namespace, jedoch ohne die Assembly, wie er von der FullName -Eigenschaft zurückgegeben wird.

ignoreCase
Boolean

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

bindingAttr
BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.

binder
Binder

Ein Objekt, das die Bindung, die Umwandlung von Argumenttypen, das Aufrufen von Membern und das Abrufen von MemberInfo-Objekten über Reflektion ermöglicht. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.

args
Object[]

Die an den Konstruktor zu übergebenden Argumente. Dieses Array von Argumenten muss hinsichtlich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmen. Wenn der parameterlose Konstruktor bevorzugt wird, muss args ein leeres Array oder NULL sein.

culture
CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können. Üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.

Der Parameter ist vom Client aktivierten Objekten zugeordnet. 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. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.

Gibt zurück

ObjectHandle

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeName angegeben wird. Der Rückgabewert muss für den Zugriff auf das eigentliche Objekt entwrappt werden.

Ausnahmen

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly.

- oder - assemblyName wurde mit einer höheren Version der Common Language Runtime als die derzeit geladene Version kompiliert.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.

Es wurde kein übereinstimmender Konstruktor gefunden.

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

typename wurde in assemblyName nicht gefunden.

Diese Instanz ist null.

Hinweise

Informationen zum Format von finden Sie AssemblyName unter assemblyName .

Der Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einem erfolgreichen Laden der Assembly in der Zielanwendungsdomäne. Da Assembly ein nicht MarshalByRefObject ist, versucht diese Methode, Assembly die 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 das Laden schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, kann sich von der Assembly unterscheiden, die zuerst geladen wurde, wenn sich die Pfadeinstellungen für die beiden Anwendungsdomänen unterscheiden.

Siehe auch

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.

Achtung

Use an overload that does not take an Evidence parameter

Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Binder, Bindungsflags, Konstruktorargumente, kulturspezifische Informationen zum Interpretieren von Argumenten, Aktivierungsattribute und die Autorisierung zum Erstellen des Typs an.

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(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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
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
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
member 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("Use an overload that does not take an Evidence parameter")>]
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 Namespace, jedoch ohne die Assembly, wie er von der FullName -Eigenschaft zurückgegeben wird.

ignoreCase
Boolean

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

bindingAttr
BindingFlags

Eine Kombination von 0 oder mehr Bitflags, die die Suche nach dem typeName-Konstruktor beeinflussen. Wenn bindingAttr 0 ist, wird eine Suche nach öffentlichen Konstruktoren mit Beachtung der Groß-/Kleinschreibung durchgeführt.

binder
Binder

Ein Objekt, das die Bindung, die Umwandlung von Argumenttypen, das Aufrufen von Membern und das Abrufen von MemberInfo-Objekten über Reflektion ermöglicht. Wenn binder den Wert null aufweist, wird der Standardbinder verwendet.

args
Object[]

Die an den Konstruktor zu übergebenden Argumente. Dieses Array von Argumenten muss hinsichtlich Anzahl, Reihenfolge und Typ mit den Parametern des aufzurufenden Konstruktors übereinstimmen. Wenn der parameterlose Konstruktor bevorzugt wird, muss args ein leeres Array oder NULL sein.

culture
CultureInfo

Kulturabhängige Informationen, die die Umwandlung von args in die für den typeName-Konstruktor deklarierten formalen Typen bestimmen. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.

activationAttributes
Object[]

Ein Array mit einem oder mehreren Attributen, die an der Aktivierung beteiligt sein können. Üblicherweise ein Array, das ein einzelnes UrlAttribute-Objekt enthält, das die zum Aktivieren eines Remoteobjekts erforderliche URL angibt.

Der Parameter ist vom Client aktivierten Objekten zugeordnet. 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. Für verteilte Anwendungen sollte stattdessen Windows Communication Foundation verwendet werden.

securityAttributes
Evidence

Informationen, die zum Autorisieren der Erstellung von typeName verwendet werden.

Gibt zurück

ObjectHandle

Ein Objekt, das ein Wrapper für die neue Instanz ist, die durch typeName angegeben wird. Der Rückgabewert muss für den Zugriff auf das eigentliche Objekt entwrappt werden.

Implementiert

Attribute

Ausnahmen

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.

assemblyName oder typeName ist null.

assemblyName ist keine gültige Assembly.

- oder - Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyName wurde mit einer höheren Version kompiliert.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.

assemblyName wurde nicht gefunden.

Der Aufrufer hat keine Berechtigung zum Aufrufen dieses Konstruktors.

Es wurde kein übereinstimmender Konstruktor gefunden.

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

- oder - securityAttributes ist nicht null. Wenn die Legacy-CAS-Richtlinie nicht aktiviert ist, sollte securityAttributes den Wert null

typename wurde in assemblyName nicht gefunden.

Diese Instanz ist null.

Hinweise

Informationen zum Format von finden Sie AssemblyName unter assemblyName .

Der Versuch, CreateInstance für eine Zielanwendungsdomäne aufzurufen, die nicht die aktuelle Anwendungsdomäne ist, führt zu einem erfolgreichen Laden der Assembly in der Zielanwendungsdomäne. Da Assembly ein nicht MarshalByRefObject ist, versucht diese Methode, Assembly die 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 das Laden schlägt möglicherweise fehl. Die Assembly, die in die aktuelle Anwendungsdomäne geladen wird, kann sich von der Assembly unterscheiden, die zuerst geladen wurde, wenn sich die Pfadeinstellungen für die beiden Anwendungsdomänen unterscheiden.

Siehe auch

Gilt für