Sdílet prostřednictvím


Activator.CreateComInstanceFrom Metoda

Definice

Vytvoří instanci objektu COM, jehož název je zadán.

Přetížení

CreateComInstanceFrom(String, String)

Vytvoří instanci objektu COM, jehož název je zadán, pomocí pojmenovaného souboru sestavení a konstruktoru bez parametrů.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Vytvoří instanci objektu COM, jehož název je zadán, pomocí pojmenovaného souboru sestavení a konstruktoru bez parametrů.

CreateComInstanceFrom(String, String)

Vytvoří instanci objektu COM, jehož název je zadán, pomocí pojmenovaného souboru sestavení a konstruktoru bez parametrů.

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

Název souboru, který obsahuje sestavení, kde je požadován typ pojmenovaný typeName.

typeName
String

Název typu pro vytvoření instance.

Návraty

Popisovač, který musí být rozbalený pro přístup k nově vytvořenému objektu, nebo null pro Nullable<T> instance.

Výjimky

typeName nebo assemblyName je null.

Instanci nelze vytvořit prostřednictvím modelu COM.

-nebo-

typeName nebyl v assemblyNamenalezen .

Nebyl nalezen žádný odpovídající konstruktor.

assemblyName nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

Nelze vytvořit instanci abstraktní třídy.

-nebo-

Tento člen byl vyvolán pomocí mechanismu pozdní vazby.

Volající nemůže poskytnout aktivační atributy objektu, který nedědí z MarshalByRefObject.

assemblyName je prázdný řetězec ("").

Poznámky

K rozbalení návratové hodnoty použijte metodu ObjectHandle.Unwrap.

Atribut System.Runtime.InteropServices.ComVisibleAttribute s hodnotou true musí být použit explicitně nebo ve výchozím nastavení pro typ modelu COM, aby metoda CreateComInstanceFrom mohl vytvořit instanci tohoto typu; jinak TypeLoadException je vyvolán.

Informace o dalších výjimkách, které lze vyvolat metodami, naleznete v části Výjimky Assembly.LoadFrom a CreateInstance metody.

Poznámka

Počínaje rozhraním .NET Framework 2.0 lze tuto metodu použít k vytvoření nepublikovaných typů, pokud byl volající udělen ReflectionPermission s příznakem ReflectionPermissionFlag.RestrictedMemberAccess a pokud je sada udělení sestavení obsahující typy neveřejných dat omezena na sadu grantu volajícího nebo na její podmnožinu. (Viz aspekty zabezpečení pro reflexi.) Pokud chcete tuto funkci použít, měla by vaše aplikace cílit na rozhraní .NET Framework 3.5 nebo novější.

Platí pro

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Vytvoří instanci objektu COM, jehož název je zadán, pomocí pojmenovaného souboru sestavení a konstruktoru bez parametrů.

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

Název souboru, který obsahuje sestavení, kde je požadován typ pojmenovaný typeName.

typeName
String

Název typu pro vytvoření instance.

hashValue
Byte[]

Hodnota vypočítaného kódu hash.

hashAlgorithm
AssemblyHashAlgorithm

Algoritmus hash používaný pro hashování souborů a generování silného názvu.

Návraty

Popisovač, který musí být rozbalený pro přístup k nově vytvořenému objektu, nebo null pro Nullable<T> instance.

Výjimky

typeName nebo assemblyName je null.

assemblyName je prázdný řetězec ("").

Sestavení nebo modul byl načten dvakrát se dvěma různými důkazy.

-nebo-

assemblyName je delší než maximální délka definovaná systémem.

assemblyName nebyl nalezen nebo modul, který se pokoušíte načíst, nezadá příponu názvu souboru.

assemblyName se najde, ale nelze je načíst.

assemblyName není platné sestavení.

Základ kódu, který nezačíná na "file://", byl zadán bez požadované WebPermission.

Instanci nelze vytvořit prostřednictvím modelu COM.

-nebo-

typeName nebyl v assemblyNamenalezen .

Nebyl nalezen žádný odpovídající konstruktor.

Instanci abstraktní třídy nelze vytvořit.

-nebo-

Tento člen byl vyvolán pomocí mechanismu pozdní vazby.

Volající nemůže poskytnout aktivační atributy objektu, který nedědí z MarshalByRefObject.

Poznámky

K rozbalení návratové hodnoty použijte metodu ObjectHandle.Unwrap.

Atribut System.Runtime.InteropServices.ComVisibleAttribute s hodnotou true musí být použit explicitně nebo ve výchozím nastavení pro typ modelu COM, aby metoda CreateComInstanceFrom mohl vytvořit instanci tohoto typu; jinak TypeLoadException je vyvolán.

Informace o dalších výjimkách, které lze vyvolat metodami, naleznete v části Výjimky Assembly.LoadFrom a CreateInstance metody.

Poznámka

Počínaje rozhraním .NET Framework 2.0 lze tuto metodu použít k vytvoření nepublikovaných typů, pokud byl volající udělen ReflectionPermission s příznakem ReflectionPermissionFlag.RestrictedMemberAccess a pokud je sada udělení sestavení obsahující typy neveřejných dat omezena na sadu grantu volajícího nebo na její podmnožinu. (Viz aspekty zabezpečení pro reflexi.) Pokud chcete tuto funkci použít, měla by vaše aplikace cílit na rozhraní .NET Framework 3.5 nebo novější.

Platí pro