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 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
Ein Handle, das für den Zugriff auf das neu erstellte Objekt oder null
für Nullable<T> Instanzen entpackt 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 zu entpacken.
Ein System.Runtime.InteropServices.ComVisibleAttribute Attribut mit dem Wert muss true
entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, TypeLoadException damit die CreateComInstanceFrom Methode eine instance dieses Typs erstellen kann. Andernfalls wird ausgelöst.
Informationen zu anderen Ausnahmen, die von aufgerufenen Methoden ausgelöst werden können, finden Sie im Abschnitt Ausnahmen der Assembly.LoadFrom Methoden und CreateInstance .
Hinweis
Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nicht öffentliche Typen zu erstellen, wenn der Aufrufer mit dem ReflectionPermissionFlag.RestrictedMemberAccess Flag gewährt ReflectionPermission wurde und wenn der Gewährungssatz der Assembly, die die nicht öffentlichen Typen enthält, auf den Grant-Satz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Weitere Informationen finden Sie unter Überlegungen zur Sicherheit.) Um diese Funktionalität verwenden zu können, sollte Ihre Anwendung auf .NET Framework Version 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
Ein Handle, das für den Zugriff auf das neu erstellte Objekt oder null
für Nullable<T> Instanzen entpackt 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 zu entpacken.
Ein System.Runtime.InteropServices.ComVisibleAttribute Attribut mit dem Wert muss true
entweder explizit oder standardmäßig auf den COM-Typ angewendet werden, TypeLoadException damit die CreateComInstanceFrom Methode eine instance dieses Typs erstellen kann. Andernfalls wird ausgelöst.
Informationen zu anderen Ausnahmen, die von aufgerufenen Methoden ausgelöst werden können, finden Sie im Abschnitt Ausnahmen der Assembly.LoadFrom Methoden und CreateInstance .
Hinweis
Ab .NET Framework 2.0 kann diese Methode verwendet werden, um nicht öffentliche Typen zu erstellen, wenn der Aufrufer mit dem ReflectionPermissionFlag.RestrictedMemberAccess Flag gewährt ReflectionPermission wurde und wenn der Gewährungssatz der Assembly, die die nicht öffentlichen Typen enthält, auf den Grant-Satz des Aufrufers oder auf eine Teilmenge davon beschränkt ist. (Weitere Informationen finden Sie unter Überlegungen zur Sicherheit.) Um diese Funktionalität verwenden zu können, sollte Ihre Anwendung auf .NET Framework Version 3.5 oder höher ausgerichtet sein.
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für