Activator.CreateComInstanceFrom Metoda

Definicja

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

ObjectHandle

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

ObjectHandle

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.

Dotyczy