JavaScriptSerializer.ConvertToType 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.
Overload
| Nama | Deskripsi |
|---|---|
| ConvertToType(Object, Type) |
Mengonversi objek yang ditentukan ke tipe yang ditentukan. |
| ConvertToType<T>(Object) |
Mengonversi objek yang diberikan ke jenis yang ditentukan. |
ConvertToType(Object, Type)
Mengonversi objek yang ditentukan ke tipe yang ditentukan.
public:
System::Object ^ ConvertToType(System::Object ^ obj, Type ^ targetType);
public object ConvertToType(object obj, Type targetType);
member this.ConvertToType : obj * Type -> obj
Public Function ConvertToType (obj As Object, targetType As Type) As Object
Parameter
- obj
- Object
Objek yang akan dikonversi.
- targetType
- Type
Jenis untuk mengonversi objek menjadi.
Mengembalikan
String JSON yang diserialisasikan.
Pengecualian
String berformat JSON yang dihasilkan melebihi nilai MaxJsonLength.
-atau-
obj berisi referensi melingkar. Referensi melingkar terjadi ketika objek anak memiliki referensi ke objek induk, dan objek induk memiliki referensi ke objek anak.
Batas rekursi yang ditentukan oleh RecursionLimit terlampaui.
Keterangan
JavaScriptSerializer Ketika instans menserialisasikan Serialize jenis di mana pengonversi kustom terdaftar, serializer memanggil metode untuk mendapatkan kamus pasangan nama/nilai yang akan dikonversi ke string berformat JSON.
Metode ini Serialize juga dapat melemparkan pengecualian jika grafik objek terlalu kompleks, atau jika instans JavaScriptConverter terdaftar telah menyebabkan rekursi konverter.
Berlaku untuk
ConvertToType<T>(Object)
Mengonversi objek yang diberikan ke jenis yang ditentukan.
public:
generic <typename T>
T ConvertToType(System::Object ^ obj);
public T ConvertToType<T>(object obj);
member this.ConvertToType : obj -> 'T
Public Function ConvertToType(Of T) (obj As Object) As T
Jenis parameter
- T
Jenis yang obj akan dikonversi.
Parameter
- obj
- Object
Objek yang akan dikonversi.
Mengembalikan
Objek yang telah dikonversi ke jenis target.
Pengecualian
obj (atau anggota berlapis dari obj) berisi properti "__type" yang menunjukkan jenis kustom, tetapi pemecah masalah jenis yang terkait dengan serializer tidak dapat menemukan jenis terkelola yang sesuai.
-atau-
obj (atau anggota berlapis dari obj) berisi properti "__type" yang menunjukkan jenis kustom, tetapi hasil deserialisasi string JSON yang sesuai tidak dapat ditetapkan ke jenis target yang diharapkan.
-atau-
obj (atau anggota berlapis dari obj) berisi properti "__type" yang menunjukkan atau Object jenis yang tidak dapat dibuat instan (misalnya, jenis abstrak atau antarmuka).
-atau-
Upaya dilakukan untuk mengonversi obj ke jenis terkelola seperti array, yang tidak didukung untuk digunakan sebagai target deserialisasi.
-atau-
Tidak dimungkinkan untuk mengonversi obj ke T.
obj adalah jenis kamus dan nilai kunci non-string ditemukan.
-atau-
obj menyertakan definisi anggota yang tidak tersedia pada jenis T.
Contoh
Contoh berikut menunjukkan cara menggunakan ConvertToType metode untuk mendapatkan ListItem objek dari nilai dalam kamus yang diteruskan ke pengonversi. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk JavaScriptSerializer kelas .
ArrayList itemsList = (ArrayList)dictionary["List"];
for (int i=0; i<itemsList.Count; i++)
list.Add(serializer.ConvertToType<ListItem>(itemsList[i]));
Dim itemsList As ArrayList = CType(dictionary("List"), ArrayList)
Dim i As Integer
For i = 0 To itemsList.Count - 1
list.Add(serializer.ConvertToType(Of ListItem)(itemsList(i)))
Next i
Keterangan
Metode ini ConvertToType mencoba mengonversi instans objek yang diwakili oleh obj ke instans jenis T. Selama konversi ini, tidak ada jaminan bahwa kesetaraan referensi objek dipertahankan. Oleh karena itu, Anda tidak dapat berasumsi bahwa obj dan T merujuk ke objek yang sama.
ConvertToType dimaksudkan untuk digunakan jika Anda menerapkan kelas yang berasal dari JavaScriptConverter. Kode konverter harus dapat mengambil nilai yang ada dalam kamus yang diteruskan oleh serializer ke dalamnya, lalu mengonversi nilai tersebut menjadi instans jenis T. Alih-alih menerapkan ulang kode konversi kustom untuk melakukan tugas ini, Anda dapat memanggil ConvertToType metode dari kode pengonversi.