Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metode

Definisi

Perhatian

ReflectionOnly loading is not supported and throws PlatformNotSupportedException.

Type Mendapatkan dengan nama yang ditentukan, menentukan apakah akan melakukan pencarian peka huruf besar/kecil dan apakah akan melemparkan pengecualian jika jenisnya tidak ditemukan. Jenis dimuat hanya untuk refleksi, bukan untuk eksekusi.

public:
 static Type ^ ReflectionOnlyGetType(System::String ^ typeName, bool throwIfNotFound, bool ignoreCase);
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
static member ReflectionOnlyGetType : string * bool * bool -> Type
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyGetType : string * bool * bool -> Type
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type

Parameter

typeName
String

Nama assembly-qualified untuk Type mendapatkan.

throwIfNotFound
Boolean

true untuk melemparkan TypeLoadException jika jenis tidak dapat ditemukan; false untuk mengembalikan null jika jenis tidak dapat ditemukan. Menentukan false juga menekan beberapa kondisi pengecualian lainnya, tetapi tidak semuanya. Lihat bagian Pengecualian.

ignoreCase
Boolean

true untuk melakukan pencarian yang tidak peka huruf besar/kecil untuk typeName; false untuk melakukan pencarian peka huruf besar/kecil untuk typeName.

Mengembalikan

Jenis dengan nama yang ditentukan, jika ditemukan; jika tidak, null. Jika jenis tidak ditemukan, throwIfNotFound parameter menentukan apakah null dikembalikan atau pengecualian dilemparkan. Dalam beberapa kasus, pengecualian dilemparkan terlepas dari throwIfNotFoundnilai . Lihat bagian Pengecualian.

Atribut

Pengecualian

typeNameadalah null.

Penginisialisasi kelas dipanggil dan melemparkan pengecualian.

throwIfNotFound adalah true dan jenisnya tidak ditemukan.

-atau-

throwIfNotFound adalah true dan typeName berisi karakter yang tidak valid, seperti tab yang disematkan.

-atau-

throwIfNotFound adalah true dan typeName adalah string kosong.

-atau-

throwIfNotFound adalah true dan typeName mewakili jenis array dengan ukuran yang tidak valid.

-atau-

typeName mewakili array TypedReference objek.

typeName tidak menyertakan nama rakitan.

-atau-

throwIfNotFound adalah true dan typeName berisi sintaks yang tidak valid; misalnya, "MyType[,*,]".

-atau-

typeName mewakili jenis generik yang memiliki jenis penunjuk, ByRef jenis, atau Void sebagai salah satu argumen jenisnya.

-atau-

typeName mewakili jenis generik yang memiliki jumlah argumen jenis yang salah.

-atau-

typeName mewakili jenis generik, dan salah satu argumen jenisnya tidak memenuhi batasan untuk parameter jenis yang sesuai.

throwIfNotFound adalah true dan perakitan atau salah satu dependensinya tidak ditemukan.

Rakitan atau salah satu dependensinya ditemukan, tetapi tidak dapat dimuat.

Rakitan atau salah satu dependensinya bukan rakitan yang valid untuk runtime yang saat ini dimuat.

Hanya .NET Core dan .NET 5+: Dalam semua kasus.

Keterangan

Jika rakitan yang berisi jenis belum dimuat ke dalam konteks khusus refleksi, menggunakan ReflectionOnlyGetType metode ini setara dengan terlebih dahulu memuat rakitan hanya untuk pantulan, menggunakan ReflectionOnlyLoad metode , lalu memuat jenis dengan memanggil metode assembly Assembly.GetType . Untuk informasi tentang nama yang memenuhi syarat rakitan, lihat Type.AssemblyQualifiedName properti . Untuk detail tambahan tentang menentukan nama jenis, lihat GetType(String, Boolean, Boolean) metode kelebihan beban.

Jika rakitan sudah dimuat untuk eksekusi, salinan lain dimuat ke dalam konteks khusus pantulan.

Parameter throwIfNotFound menentukan apa yang terjadi ketika jenis tidak ditemukan, dan juga menekan kondisi pengecualian tertentu lainnya, seperti yang dijelaskan di bagian Pengecualian. Beberapa pengecualian dilemparkan terlepas dari throwIfNotFoundnilai . Misalnya, jika assembly tidak valid, akan BadImageFormatException dilemparkan bahkan jika throwIfNotFound adalah false.

Untuk informasi selengkapnya tentang menggunakan konteks khusus refleksi, lihat Cara: Memuat Rakitan ke dalam Konteks Reflection-Only.

Berlaku untuk

Lihat juga