Activator.CreateComInstanceFrom Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy wystąpienie obiektu COM, którego nazwa jest określona.
Przeciążenia
CreateComInstanceFrom(String, String) |
Tworzy wystąpienie obiektu COM, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów. |
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Tworzy wystąpienie obiektu COM, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów. |
CreateComInstanceFrom(String, String)
Tworzy wystąpienie obiektu COM, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów.
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
Parametry
- assemblyName
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
Zwraca
Uchwyt, który musi być rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
na Nullable<T> przykład.
Wyjątki
typeName
lub assemblyName
to null
.
Nie można utworzyć wystąpienia za pośrednictwem modelu COM.
-lub-
typename
nie znaleziono w pliku assemblyName
.
Nie znaleziono pasującego konstruktora.
assemblyName
nie można odnaleźć lub moduł, który próbujesz załadować, nie określa rozszerzenia nazwy pliku.
Nie można utworzyć wystąpienia klasy abstrakcyjnej.
-lub-
Ten element członkowski został wywołany z użyciem mechanizmu opóźnionego wiązania.
Obiekt wywołujący nie może podać atrybutów aktywacji dla obiektu, który nie dziedziczy z MarshalByRefObjectklasy .
assemblyName
jest pustym ciągiem ("").
Uwagi
ObjectHandle.Unwrap Użyj metody , aby odpakować wartość zwracaną.
Atrybut System.Runtime.InteropServices.ComVisibleAttribute o wartości true
musi być stosowany jawnie lub domyślnie do typu COM, TypeLoadException aby CreateComInstanceFrom metoda mogła utworzyć wystąpienie tego typu. W przeciwnym razie jest zgłaszany.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez metody wywoływane, zobacz sekcję Assembly.LoadFrom Wyjątki metod i CreateInstance .
Uwaga
Począwszy od .NET Framework 2.0, ta metoda może służyć do tworzenia typów niepublicowych, jeśli obiekt wywołujący otrzymał ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess flagę, a zestaw dotacji zawierający typy niepublicowe jest ograniczony do zestawu dotacji obiektu wywołującego lub do jego podzbioru. (Zobacz Zagadnienia dotyczące zabezpieczeń do odbicia). Aby korzystać z tej funkcji, aplikacja powinna być docelowa .NET Framework 3.5 lub nowszej.
Dotyczy
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
Tworzy wystąpienie obiektu COM, którego nazwa jest określona, przy użyciu nazwanego pliku zestawu i konstruktora bez parametrów.
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
Parametry
- assemblyName
- String
Nazwa pliku zawierającego zestaw, w którym poszukiwany jest typ o nazwie typeName
.
- typeName
- String
Nazwa typu do utworzenia wystąpienia.
- hashValue
- Byte[]
Wartość obliczonego kodu skrótu.
- hashAlgorithm
- AssemblyHashAlgorithm
Algorytm skrótu używany do tworzenia skrótów plików i generowania silnej nazwy.
Zwraca
Uchwyt, który musi być rozpasany, aby uzyskać dostęp do nowo utworzonego obiektu lub null
na Nullable<T> przykład.
Wyjątki
typeName
lub assemblyName
to null
.
assemblyName
jest pustym ciągiem ("").
Zestaw lub moduł został załadowany dwukrotnie z dwoma różnymi dowodami.
-lub-
assemblyName
jest dłuższa niż długość maksymalna zdefiniowana przez system.
assemblyName
nie można odnaleźć lub moduł, który próbujesz załadować, nie określa rozszerzenia nazwy pliku.
assemblyName
znaleziono plik , ale nie można go załadować.
assemblyName
nie jest prawidłowym zestawem.
Baza kodu, która nie zaczyna się od "file://" została określona bez wymaganego WebPermission
elementu .
Nie można utworzyć wystąpienia za pośrednictwem modelu COM.
-lub-
typename
nie znaleziono w pliku assemblyName
.
Nie znaleziono pasującego konstruktora.
Nie można utworzyć wystąpienia klasy abstrakcyjnej.
-lub-
Ten element członkowski został wywołany z użyciem mechanizmu opóźnionego wiązania.
Obiekt wywołujący nie może podać atrybutów aktywacji dla obiektu, który nie dziedziczy z MarshalByRefObjectklasy .
Uwagi
ObjectHandle.Unwrap Użyj metody , aby odpakować wartość zwracaną.
Atrybut System.Runtime.InteropServices.ComVisibleAttribute o wartości true
musi być stosowany jawnie lub domyślnie do typu COM, TypeLoadException aby CreateComInstanceFrom metoda mogła utworzyć wystąpienie tego typu. W przeciwnym razie jest zgłaszany.
Aby uzyskać informacje o innych wyjątkach, które mogą być zgłaszane przez metody wywoływane, zobacz sekcję Assembly.LoadFrom Wyjątki metod i CreateInstance .
Uwaga
Począwszy od .NET Framework 2.0, ta metoda może służyć do tworzenia typów niepublicowych, jeśli obiekt wywołujący otrzymał ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccess flagę, a zestaw dotacji zawierający typy niepublicowe jest ograniczony do zestawu dotacji obiektu wywołującego lub do jego podzbioru. (Zobacz Zagadnienia dotyczące zabezpieczeń do odbicia). Aby korzystać z tej funkcji, aplikacja powinna być docelowa .NET Framework 3.5 lub nowszej.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla