Activator.CreateComInstanceFrom Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Instanz des COM-Objekts, dessen Name angegeben ist.
Überlädt
CreateComInstanceFrom(String, String) |
Erstellt eine Instanz des COM-Objekts, dessen Name angegeben ist, mithilfe der benannten Assemblydatei und des parameterlosen Konstruktors. |
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Erstellt eine Instanz des COM-Objekts, dessen Name angegeben ist, mithilfe der benannten Assemblydatei und des parameterlosen Konstruktors. |
CreateComInstanceFrom(String, String)
Erstellt eine Instanz des COM-Objekts, dessen Name angegeben ist, mithilfe der benannten 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 typeName
gesucht wird.
- typeName
- String
Der Name des Typs, von dem eine Instanz erstellt werden soll.
Gibt zurück
Ein Handle, das für den Zugriff auf das neu erstellte Objekt aufgehoben werden muss, oder null
für Nullable<T> Instanzen.
Ausnahmen
typeName
oder assemblyName
ist null
.
Eine Instanz kann nicht über COM erstellt werden.
-oder-
typeName
wurde in assemblyName
nicht gefunden.
Es wurde kein übereinstimmende Konstruktor gefunden.
assemblyName
nicht gefunden wird, oder das Modul, das Sie laden möchten, gibt keine Dateinamenerweiterung an.
Eine Instanz einer abstrakten Klasse kann nicht erstellt werden.
-oder-
Dieses Element wurde mit einem Spätbindungsmechanismus aufgerufen.
Der Aufrufer kann keine Aktivierungsattribute für ein Objekt bereitstellen, das nicht von MarshalByRefObjecterbt.
assemblyName
ist die leere Zeichenfolge ("").
Hinweise
Verwenden Sie die ObjectHandle.Unwrap-Methode, um den Rückgabewert aufzuheben.
Ein System.Runtime.InteropServices.ComVisibleAttribute-Attribut mit dem Wert true
muss entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, damit die CreateComInstanceFrom-Methode eine Instanz dieses Typs erstellen kann; andernfalls wird TypeLoadException ausgelöst.
Informationen zu anderen Ausnahmen, die durch aufgerufene Methoden ausgelöst werden können, finden Sie im Abschnitt "Ausnahmen" der methoden Assembly.LoadFrom und CreateInstance.
Anmerkung
Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nichtublicische Typen zu erstellen, wenn der Aufrufer ReflectionPermission mit dem flag ReflectionPermissionFlag.RestrictedMemberAccess erteilt wurde und wenn der Grant-Satz der Assembly, die die nichtublic-Typen enthält, auf den Grant-Satz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Siehe Sicherheitsüberlegungen für Reflection.) Um diese Funktionalität zu verwenden, sollte Ihre Anwendung auf .NET Framework 3.5 oder höher abzielen.
Gilt für:
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
Erstellt eine Instanz des COM-Objekts, dessen Name angegeben ist, mithilfe der benannten 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 typeName
gesucht wird.
- typeName
- String
Der Name des Typs, von dem eine Instanz erstellt werden soll.
- hashValue
- Byte[]
Der Wert des berechneten Hashcodes.
- hashAlgorithm
- AssemblyHashAlgorithm
Der Hashalgorithmus, der zum Hashing von Dateien und zum Generieren des starken Namens verwendet wird.
Gibt zurück
Ein Handle, das für den Zugriff auf das neu erstellte Objekt aufgehoben werden muss, oder null
für Nullable<T> Instanzen.
Ausnahmen
typeName
oder assemblyName
ist null
.
assemblyName
ist die leere Zeichenfolge ("").
Eine Assembly oder ein Modul wurde zweimal mit zwei verschiedenen Nachweisen geladen.
-oder-
assemblyName
ist länger als die vom System definierte maximale Länge.
assemblyName
nicht gefunden wird, oder das Modul, das Sie laden möchten, gibt keine Dateinamenerweiterung an.
assemblyName
gefunden, aber nicht geladen werden kann.
assemblyName
ist keine gültige Assembly.
Eine Codebasis, die nicht mit "file://" beginnt, wurde ohne die erforderliche WebPermission
angegeben.
Eine Instanz kann nicht über COM erstellt werden.
-oder-
typeName
wurde in assemblyName
nicht gefunden.
Es wurde kein übereinstimmende Konstruktor gefunden.
Eine Instanz einer abstrakten Klasse kann nicht erstellt werden.
-oder-
Dieses Element wurde mit einem Spätbindungsmechanismus aufgerufen.
Der Aufrufer kann keine Aktivierungsattribute für ein Objekt bereitstellen, das nicht von MarshalByRefObjecterbt.
Hinweise
Verwenden Sie die ObjectHandle.Unwrap-Methode, um den Rückgabewert aufzuheben.
Ein System.Runtime.InteropServices.ComVisibleAttribute-Attribut mit dem Wert true
muss entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, damit die CreateComInstanceFrom-Methode eine Instanz dieses Typs erstellen kann; andernfalls wird TypeLoadException ausgelöst.
Informationen zu anderen Ausnahmen, die durch aufgerufene Methoden ausgelöst werden können, finden Sie im Abschnitt "Ausnahmen" der methoden Assembly.LoadFrom und CreateInstance.
Anmerkung
Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nichtublicische Typen zu erstellen, wenn der Aufrufer ReflectionPermission mit dem flag ReflectionPermissionFlag.RestrictedMemberAccess erteilt wurde und wenn der Grant-Satz der Assembly, die die nichtublic-Typen enthält, auf den Grant-Satz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Siehe Sicherheitsüberlegungen für Reflection.) Um diese Funktionalität zu verwenden, sollte Ihre Anwendung auf .NET Framework 3.5 oder höher abzielen.