Bagikan melalui


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 tipe bernama typeName dicari.

typeName
String

Nama jenis untuk membuat instans.

Mengembalikan

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

Pengecualian

typeName atau assemblyNamenull.

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

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

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

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

Nota

Dimulai dengan .NET Framework 2.0, metode ini dapat digunakan untuk membuat jenis nonpublik jika pemanggil telah diberikan ReflectionPermission dengan bendera ReflectionPermissionFlag.RestrictedMemberAccess dan jika set pemberian rakitan yang berisi jenis nonpublik dibatasi untuk set pemberian penelepon atau ke subsetnya. (Lihat Pertimbangan Keamanan untukRefleksi .) 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 tipe 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 untuk instans Nullable<T>.

Pengecualian

typeName atau assemblyNamenull.

assemblyName adalah string kosong ("").

Rakitan 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 WebPermissionyang diperlukan .

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

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

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

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

Nota

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

Berlaku untuk