Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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 throwIfNotFound
nilai . Lihat bagian Pengecualian.
- Atribut
Pengecualian
typeName
adalah 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 throwIfNotFound
nilai . 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.