Suporte ao Visual Basic

Partes de System.Text.Json usam structs ref, que não têm suporte no Visual Basic. Se você tentar usar APIs de struct ref System.Text.Json com o Visual Basic, receberá erros do compilador BC40000. A mensagem de erro indica que o problema é uma API obsoleta, mas o problema real é a falta de suporte para o struct ref no compilador. As seguintes partes de System.Text.Json não são utilizáveis do Visual Basic:

  • A Utf8JsonReader estrutura. Como o método JsonConverter<T>.Read usa um parâmetro Utf8JsonReader, essa limitação significa que você não pode usar o Visual Basic para gravar conversores personalizados. Uma solução alternativa para isso é implementar conversores personalizados em um assembly de biblioteca C# e fazer referência a esse assembly do seu projeto do VB. Isso pressupõe que tudo o que você faz no Visual Basic é registrar os conversores no serializador. Você não pode chamar os métodos Read dos conversores do código do Visual Basic.
  • Sobrecargas de outras APIs que incluem um tipo ReadOnlySpan<T>. A maioria dos métodos inclui sobrecargas que usam String em vez de ReadOnlySpan.

Essas restrições estão em vigor porque os structs de ref não podem ser usados com segurança sem suporte vocal, mesmo apenas ao "passar dados". Subverter esse erro resultará em um código do Visual Basic que pode corromper a memória e não deve ser feito.