Sdílet prostřednictvím


Podpora jazyka Visual Basic

System.Text.Json Části použití ref struktury, které nejsou podporovány jazykem Visual Basic. Pokud se pokusíte použít System.Text.Json rozhraní API ref struktury s jazykem Visual Basic, zobrazí se BC40000 chyby kompilátoru. Chybová zpráva indikuje, že problém je zastaralé rozhraní API, ale skutečný problém je nedostatek podpory struktury ref v kompilátoru. Následující části System.Text.Json nejsou použitelné z jazyka Visual Basic:

  • Struktura Utf8JsonReader . Vzhledem k tomu, že JsonConverter<T>.Read metoda přebírá Utf8JsonReader parametr, toto omezení znamená, že nelze použít jazyk Visual Basic k zápisu vlastních převaděčů. Alternativním řešením je implementace vlastních převaděčů v sestavení knihovny jazyka C# a odkazování na toto sestavení z projektu VB. To předpokládá, že vše, co v jazyce Visual Basic děláte, je zaregistrovat převaděče do serializátoru. Z kódu jazyka Visual Basic nelze volat Read metody převaděčů.
  • Přetížení jiných rozhraní API, která obsahují typ ReadOnlySpan<T> Většina metod zahrnuje přetížení, která se používají String místo ReadOnlySpan.

Tato omezení platí, protože struktury ref nelze bezpečně používat bez podpory jazyka, a to ani při pouhém "předávání dat". Podvertování této chyby způsobí kód jazyka Visual Basic, který může poškodit paměť a neměl by být proveden.