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
Dojście, które musi być niezapisane, aby uzyskać dostęp do nowo utworzonego wystąpienia.
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łaszana.
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ł ReflectionPermission ReflectionPermissionFlag.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
Dojście, które musi być niezapisane, aby uzyskać dostęp do nowo utworzonego wystąpienia.
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 WebPermissionelementu .
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łaszana.
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ł ReflectionPermission ReflectionPermissionFlag.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.