Activator.CreateComInstanceFrom Metode

Definisi

Membuat instans objek COM yang namanya ditentukan.

Overload

CreateComInstanceFrom(String, String)

Membuat instans objek COM yang namanya ditentukan, menggunakan file rakitan bernama dan konstruktor tanpa parameter.

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

Membuat instans objek COM yang namanya ditentukan, menggunakan file rakitan bernama dan konstruktor tanpa parameter.

CreateComInstanceFrom(String, String)

Membuat instans objek COM yang namanya ditentukan, menggunakan file rakitan bernama dan konstruktor tanpa parameter.

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

Parameter

assemblyName
String

Nama file yang berisi rakitan tempat jenis bernama typeName dicari.

typeName
String

Nama jenis untuk membuat instans.

Mengembalikan

Handel yang harus dibongkar untuk mengakses objek yang baru dibuat, atau null misalnya Nullable<T> .

Pengecualian

typeName atau assemblyName adalah null.

Instans tidak dapat dibuat melalui COM.

-atau-

typename tidak ditemukan di assemblyName.

Tidak ditemukan konstruktor yang cocok.

assemblyName tidak ditemukan, atau modul yang Anda coba muat tidak menentukan ekstensi nama file.

Tidak dapat membuat instans kelas abstrak.

-atau-

Anggota ini dipanggil dengan mekanisme pengikatan terlambat.

Pemanggil tidak dapat menyediakan atribut aktivasi untuk objek yang tidak mewarisi dari MarshalByRefObject.

assemblyName adalah string kosong ("").

Keterangan

ObjectHandle.Unwrap Gunakan metode untuk membuka bungkus nilai yang dikembalikan.

Atribut System.Runtime.InteropServices.ComVisibleAttribute dengan nilai true harus diterapkan baik secara eksplisit atau secara default ke jenis COM sehingga metode dapat membuat instans jenis tersebut CreateComInstanceFrom ; jika tidak, TypeLoadException dilemparkan.

Untuk informasi tentang pengecualian lain yang dapat dilemparkan dengan metode yang dipanggil, lihat bagian Pengecualian dari Assembly.LoadFrom metode dan CreateInstance .

Catatan

Dimulai dengan .NET Framework 2.0, metode ini dapat digunakan untuk membuat jenis nonpublik jika pemanggil telah diberikan ReflectionPermission dengan ReflectionPermissionFlag.RestrictedMemberAccess bendera dan jika sekumpulan perakitan yang memberikan yang berisi jenis nonpublik dibatasi untuk set pemberian penelepon atau ke subsetnya. (Lihat Pertimbangan Keamanan untuk Refleksi.) Untuk menggunakan fungsionalitas ini, aplikasi Anda harus menargetkan .NET Framework 3.5 atau yang lebih baru.

Berlaku untuk

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

Membuat instans objek COM yang namanya ditentukan, menggunakan file rakitan bernama dan konstruktor tanpa parameter.

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

Parameter

assemblyName
String

Nama file yang berisi rakitan tempat jenis bernama typeName dicari.

typeName
String

Nama jenis untuk membuat instans.

hashValue
Byte[]

Nilai kode hash yang dihitung.

hashAlgorithm
AssemblyHashAlgorithm

Algoritma hash yang digunakan untuk hashing file dan menghasilkan nama yang kuat.

Mengembalikan

Handel yang harus dibongkar untuk mengakses objek yang baru dibuat, atau null misalnya Nullable<T> .

Pengecualian

typeName atau assemblyName adalah null.

assemblyName adalah string kosong ("").

Perakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.

-atau-

assemblyName lebih panjang dari panjang maksimum yang ditentukan sistem.

assemblyName tidak ditemukan, atau modul yang Anda coba muat tidak menentukan ekstensi nama file.

assemblyName ditemukan tetapi tidak dapat dimuat.

assemblyName bukan rakitan yang valid.

Basis kode yang tidak dimulai dengan "file://" ditentukan tanpa diperlukan WebPermission.

Instans tidak dapat dibuat melalui COM.

-atau-

typename tidak ditemukan di assemblyName.

Tidak ditemukan konstruktor yang cocok.

Instans kelas abstrak tidak dapat dibuat.

-atau-

Anggota ini dipanggil dengan mekanisme pengikatan terlambat.

Pemanggil tidak dapat menyediakan atribut aktivasi untuk objek yang tidak mewarisi dari MarshalByRefObject.

Keterangan

ObjectHandle.Unwrap Gunakan metode untuk membuka bungkus nilai yang dikembalikan.

Atribut System.Runtime.InteropServices.ComVisibleAttribute dengan nilai true harus diterapkan baik secara eksplisit atau secara default ke jenis COM sehingga metode dapat membuat instans jenis tersebut CreateComInstanceFrom ; jika tidak, TypeLoadException dilemparkan.

Untuk informasi tentang pengecualian lain yang dapat dilemparkan dengan metode yang dipanggil, lihat bagian Pengecualian dari Assembly.LoadFrom metode dan CreateInstance .

Catatan

Dimulai dengan .NET Framework 2.0, metode ini dapat digunakan untuk membuat jenis nonpublik jika pemanggil telah diberikan ReflectionPermission dengan ReflectionPermissionFlag.RestrictedMemberAccess bendera dan jika sekumpulan perakitan yang memberikan yang berisi jenis nonpublik dibatasi untuk set pemberian penelepon atau ke subsetnya. (Lihat Pertimbangan Keamanan untuk Refleksi.) Untuk menggunakan fungsionalitas ini, aplikasi Anda harus menargetkan .NET Framework 3.5 atau yang lebih baru.

Berlaku untuk