Activator.CreateComInstanceFrom Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří instanci objektu COM, jehož název je zadán.
Přetížení
| Name | Description |
|---|---|
| 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 název typeName typu.
- 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 nalezen v assemblyNamesouboru .
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
Použijte metodu ObjectHandle.Unwrap k rozbalení návratové hodnoty.
Atribut System.Runtime.InteropServices.ComVisibleAttribute s hodnotou true musí být použit buď explicitně, nebo ve výchozím nastavení na typ COM, aby CreateComInstanceFrom metoda mohl vytvořit instanci tohoto typu; jinak TypeLoadException je vyvolán.
Informace o dalších výjimkách, které mohou být vyvolány metodami, naleznete v části Výjimky metody Assembly.LoadFrom a CreateInstance metody.
Note
Tuto metodu lze použít k vytvoření neveřejných typů, pokud volající byl udělen ReflectionPermission 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í reflexe.) Pokud chcete tuto funkci používat, měla by vaše aplikace cílit na .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 název typeName typu.
- 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 aplikace byla nalezena, ale nelze ji načíst.
assemblyName není platné sestavení.
Základ kódu, který nezačíná na "file://", byl zadán bez požadovaného WebPermission.
Instanci nelze vytvořit prostřednictvím modelu COM.
nebo
typeName nebyl nalezen v assemblyNamesouboru .
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
Použijte metodu ObjectHandle.Unwrap k rozbalení návratové hodnoty.
Atribut System.Runtime.InteropServices.ComVisibleAttribute s hodnotou true musí být použit buď explicitně, nebo ve výchozím nastavení na typ COM, aby CreateComInstanceFrom metoda mohl vytvořit instanci tohoto typu; jinak TypeLoadException je vyvolán.
Informace o dalších výjimkách, které mohou být vyvolány metodami, naleznete v části Výjimky metody Assembly.LoadFrom a CreateInstance metody.
Note
Tuto metodu lze použít k vytvoření neveřejných typů, pokud volající byl udělen ReflectionPermission 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í reflexe.) Pokud chcete tuto funkci používat, měla by vaše aplikace cílit na .NET Framework 3.5 nebo novější.