Dukungan Visual Basic

Bagian dari System.Text.Json menggunakan ref struct, yang tidak didukung oleh Visual Basic. Jika Anda mencoba menggunakan System.Text.JsonAPI ref struct dengan Visual Basic, Anda akan mendapatkan kesalahan pengompilasi 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:

  • Strukturnya 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 kelebihan yang menggunakan String, bukan ReadOnlySpan.

Pembatasan ini diberlakukan karena ref struct tidak dapat digunakan dengan aman tanpa dukungan bahasa, bahkan ketika hanya "meneruskan data." Menutup kesalahan ini akan menghasilkan kode Visual Basic yang dapat merusak memori dan tidak boleh dilakukan.