Activator.CreateComInstanceFrom Methode

Definition

Erstellt eine Instanz des COM-Objekts, dessen Name angegeben wurde.

Überlädt

CreateComInstanceFrom(String, String)

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des parameterlosen Konstruktors.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des parameterlosen Konstruktors.

CreateComInstanceFrom(String, String)

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des parameterlosen Konstruktors.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName);
static member CreateComInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String) As ObjectHandle

Parameter

assemblyName
String

Der Name einer Datei, die eine Assembly enthält, in der der Typ mit dem Namen typeName gesucht wird.

typeName
String

Der Name des Typs, von dem eine Instanz erstellt werden soll.

Gibt zurück

ObjectHandle

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.

Ausnahmen

typeName oder assemblyName ist null.

Eine Instanz kann nicht durch COM erstellt werden.

- oder - typename wurde in assemblyName nicht gefunden.

Es wurde kein übereinstimmender Konstruktor gefunden.

assemblyName wurde nicht gefunden, oder das Modul, das Sie laden möchten, enthält keine Angabe zur Dateinamenerweiterung.

Es können keine Instanzen von abstrakten Klassen erstellt werden.

- oder -

Dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.

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

assemblyName ist die leere Zeichenfolge ("").

Hinweise

Verwenden Sie die ObjectHandle.Unwrap Methode, um den Rückgabewert auszufangen.

Ein System.Runtime.InteropServices.ComVisibleAttribute Attribut mit einem Wert von true muss entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, damit die CreateComInstanceFrom Methode eine Instanz dieses Typs erstellen kann; andernfalls TypeLoadException wird ausgelöst.

Informationen zu anderen Ausnahmen, die durch aufgerufene Methoden ausgelöst werden können, finden Sie im Abschnitt "Ausnahmen" der und CreateInstance der Assembly.LoadFrom Methoden.

Hinweis

Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nichtpublicische Typen zu erstellen, wenn der Aufrufer mit dem ReflectionPermissionFlag.RestrictedMemberAccess Flag erteilt ReflectionPermission wurde und wenn der Grantsatz der Assembly, die die nichtpublic-Typen enthält, auf den Grantsatz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Siehe Sicherheitsüberlegungen zur Reflexion.) Um diese Funktionalität zu verwenden, sollte Ihre Anwendung auf .NET Framework 3.5 oder höher ausgerichtet sein.

Gilt für:

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des parameterlosen Konstruktors.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom (string assemblyName, string typeName, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member CreateComInstanceFrom : string * string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As ObjectHandle

Parameter

assemblyName
String

Der Name einer Datei, die eine Assembly enthält, in der der Typ mit dem Namen typeName gesucht wird.

typeName
String

Der Name des Typs, von dem eine Instanz erstellt werden soll.

hashValue
Byte[]

Der Wert des errechneten Hashcodes.

hashAlgorithm
AssemblyHashAlgorithm

Der Hashalgorithmus für das Hashing von Dateien und das Generieren des starken Namens.

Gibt zurück

ObjectHandle

Ein Handle, das für den Zugriff auf die neu erstellte Instanz entwrappt werden muss.

Ausnahmen

typeName oder assemblyName ist null.

assemblyName ist die leere Zeichenfolge ("").

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

- oder - assemblyName übersteigt die vom System definierte Höchstlänge.

assemblyName wurde nicht gefunden, oder das Modul, das Sie laden möchten, enthält keine Angabe zur Dateinamenerweiterung.

assemblyName wurde gefunden, kann aber nicht geladen werden.

assemblyName ist keine gültige Assembly.

Eine Codebasis, die nicht mit „file://“ beginnt, wurde ohne die erforderliche WebPermission angegeben.

Eine Instanz kann nicht durch COM erstellt werden.

- oder - typename wurde in assemblyName nicht gefunden.

Es wurde kein übereinstimmender Konstruktor gefunden.

Es kann keine Instanz einer abstrakten Klasse erstellt werden.

- oder -

Dieser Member wurde durch einen Mechanismus mit später Bindung aufgerufen.

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

Hinweise

Verwenden Sie die ObjectHandle.Unwrap Methode, um den Rückgabewert auszufangen.

Ein System.Runtime.InteropServices.ComVisibleAttribute Attribut mit einem Wert von true muss entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, damit die CreateComInstanceFrom Methode eine Instanz dieses Typs erstellen kann; andernfalls TypeLoadException wird ausgelöst.

Informationen zu anderen Ausnahmen, die durch aufgerufene Methoden ausgelöst werden können, finden Sie im Abschnitt "Ausnahmen" der und CreateInstance der Assembly.LoadFrom Methoden.

Hinweis

Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nichtpublicische Typen zu erstellen, wenn der Aufrufer mit dem ReflectionPermissionFlag.RestrictedMemberAccess Flag erteilt ReflectionPermission wurde und wenn der Grantsatz der Assembly, die die nichtpublic-Typen enthält, auf den Grantsatz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Siehe Sicherheitsüberlegungen zur Reflexion.) Um diese Funktionalität zu verwenden, sollte Ihre Anwendung auf .NET Framework 3.5 oder höher ausgerichtet sein.

Gilt für: