Bagikan melalui


Dukungan Visual Basic

Bagian dari System.Text.Json menggunakan ref struct, yang tidak didukung oleh Visual Basic. Jika Anda mencoba menggunakan System.Text.Json REF struct API dengan Visual Basic, Anda mendapatkan kesalahan kompilator BC40000. Pesan kesalahan menunjukkan bahwa masalahnya adalah API yang sudah usang, tetapi masalah sebenarnya adalah kurangnya dukungan struct ref di pengompilasi. Bagian System.Text.Json berikut tidak dapat digunakan dari Visual Basic:

  • Struktur Utf8JsonReader. Karena metode JsonConverter<T>.Read mengambil parameter Utf8JsonReader, batasan ini berarti Anda tidak dapat menggunakan Visual Basic untuk menulis pengonversi kustom. Solusi untuk ini adalah dengan mengimplementasikan pengonversi kustom dalam perakitan pustaka C#, dan mereferensikan perakitan tersebut dari proyek VB Anda. Hal ini mengasumsikan bahwa semua yang Anda lakukan di Visual Basic adalah mendaftarkan pengonversi ke pembuat serial. Anda tidak dapat memanggil metode Read pengonversi dari kode Visual Basic.
  • Kelebihan beban API lain yang menyertakan jenis ReadOnlySpan<T>. Sebagian besar metode menyertakan overload yang menggunakan String, bukan ReadOnlySpan.

Pembatasan ini berlaku karena struktur ref tidak dapat digunakan dengan aman tanpa dukungan bahasa, bahkan ketika hanya "meneruskan data." Anda tidak boleh mengalihkan kesalahan ini. Jika Anda melakukannya, kode Visual Basic Anda dapat merusak memori.