Stöd för Visual Basic
Delar av System.Text.Json använda ref structs, som inte stöds av Visual Basic. Om du försöker använda System.Text.Json referensstrukturerade API:er med Visual Basic får du BC40000 kompilatorfel. Felmeddelandet anger att problemet är ett föråldrat API, men det faktiska problemet är bristen på referensstruktureringsstöd i kompilatorn. Följande delar av System.Text.Json kan inte användas från Visual Basic:
- Structen Utf8JsonReader . Eftersom metoden tar en
Utf8JsonReader
parameter innebär den här begränsningen JsonConverter<T>.Read att du inte kan använda Visual Basic för att skriva anpassade konverterare. En lösning för detta är att implementera anpassade konverterare i en C#-bibliotekssammansättning och referera till sammansättningen från ditt VB-projekt. Detta förutsätter att allt du gör i Visual Basic är att registrera konverterarna i serialiseraren. Du kan inte anropaRead
konverterarnas metoder från Visual Basic-koden. - Överlagringar av andra API:er som innehåller en ReadOnlySpan<T> typ. De flesta metoder omfattar överlagringar som använder
String
i stället förReadOnlySpan
.
Dessa begränsningar är på plats eftersom referensstrukturer inte kan användas på ett säkert sätt utan språkstöd, även när de bara "skickar data genom". Du bör inte omstörta det här felet. Om du gör det kan Visual Basic-koden skada minnet.