Visual Basic のサポート
System.Text.Json の一部で、Visual Basic でサポートされていない System.Text.Jsonが使用されています。 Visual Basic で System.Text.Json ref 構造 API を使用しようとすると、BC40000 コンパイラ エラーが発生します。 このエラー メッセージは、問題が古い API であることを示していますが、実際の問題は、コンパイラでの ref 構造体のサポートの欠如です。 System.Text.Json の次の部分は、Visual Basic では使用できません。
- Utf8JsonReader 構造体。 JsonConverter<T>.Read メソッドは
Utf8JsonReader
パラメーターを受け取るため、この制限は、Visual Basic を使用してカスタム コンバーターを記述することはできないことを意味します。 これを回避するには、C# ライブラリ アセンブリにカスタム コンバーターを実装し、VB プロジェクトからそのアセンブリを参照します。 これは、Visual Basic で行うのが、コンバーターをシリアライザーに登録するだけであることを前提としています。 Visual Basic コードからコンバーターのRead
メソッドを呼び出すことはできません。 - ReadOnlySpan<T> 型を含む他の API のオーバーロード。 ほとんどのメソッドには、
ReadOnlySpan
の代わりにString
を使用するオーバーロードが含まれています。
これらの制限が設けられているのは、単に "データを渡す" だけの場合でも、言語サポートなしでは ref 構造体を安全に使用できないためです。このエラーを無視しないでください。 無視すると、Visual Basic コードによってメモリが破損する可能性があります。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET