xml/System.ClientModel.Primitives/JsonModelConverter.xml (185 lines of code) (raw):
<Type Name="JsonModelConverter" FullName="System.ClientModel.Primitives.JsonModelConverter">
<TypeSignature Language="C#" Value="public class JsonModelConverter : System.Text.Json.Serialization.JsonConverter<System.ClientModel.Primitives.IJsonModel<object>>" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit JsonModelConverter extends System.Text.Json.Serialization.JsonConverter`1<class System.ClientModel.Primitives.IJsonModel`1<object>>" />
<TypeSignature Language="DocId" Value="T:System.ClientModel.Primitives.JsonModelConverter" />
<TypeSignature Language="VB.NET" Value="Public Class JsonModelConverter
Inherits JsonConverter(Of IJsonModel(Of Object))" />
<TypeSignature Language="F#" Value="type JsonModelConverter = class
 inherit JsonConverter<IJsonModel<obj>>" />
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.1.0.0</AssemblyVersion>
<AssemblyVersion>1.2.0.0</AssemblyVersion>
<AssemblyVersion>1.2.1.0</AssemblyVersion>
<AssemblyVersion>1.3.0.0</AssemblyVersion>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Text.Json.Serialization.JsonConverter<System.ClientModel.Primitives.IJsonModel<System.Object>></BaseTypeName>
<BaseTypeArguments>
<BaseTypeArgument TypeParamName="!0">System.ClientModel.Primitives.IJsonModel<System.Object></BaseTypeArgument>
</BaseTypeArguments>
</Base>
<Interfaces />
<Docs>
<summary>
A generic converter which allows <see cref="T:System.Text.Json.JsonSerializer" /> to be able to write and read any models that implement <see cref="T:System.ClientModel.Primitives.IJsonModel`1" />.
</summary>
<remarks>
Since <see cref="T:System.ClientModel.Primitives.IJsonModel`1" /> defines what the serialized shape should look like the <see cref="T:System.Text.Json.JsonSerializerOptions" /> are ignored
except for those pertaining to indentation formatting.
</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public JsonModelConverter ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>
Initializes a new instance of <see cref="T:System.ClientModel.Primitives.JsonModelConverter" /> with a default options of <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Json" />.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public JsonModelConverter (System.ClientModel.Primitives.ModelReaderWriterOptions options);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ClientModel.Primitives.ModelReaderWriterOptions options) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.#ctor(System.ClientModel.Primitives.ModelReaderWriterOptions)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (options As ModelReaderWriterOptions)" />
<MemberSignature Language="F#" Value="new System.ClientModel.Primitives.JsonModelConverter : System.ClientModel.Primitives.ModelReaderWriterOptions -> System.ClientModel.Primitives.JsonModelConverter" Usage="new System.ClientModel.Primitives.JsonModelConverter options" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="options" Type="System.ClientModel.Primitives.ModelReaderWriterOptions" />
</Parameters>
<Docs>
<param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
<summary>
Initializes a new instance of <see cref="T:System.ClientModel.Primitives.JsonModelConverter" />.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public JsonModelConverter (System.ClientModel.Primitives.ModelReaderWriterOptions options, System.ClientModel.Primitives.ModelReaderWriterContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ClientModel.Primitives.ModelReaderWriterOptions options, class System.ClientModel.Primitives.ModelReaderWriterContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.#ctor(System.ClientModel.Primitives.ModelReaderWriterOptions,System.ClientModel.Primitives.ModelReaderWriterContext)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (options As ModelReaderWriterOptions, context As ModelReaderWriterContext)" />
<MemberSignature Language="F#" Value="new System.ClientModel.Primitives.JsonModelConverter : System.ClientModel.Primitives.ModelReaderWriterOptions * System.ClientModel.Primitives.ModelReaderWriterContext -> System.ClientModel.Primitives.JsonModelConverter" Usage="new System.ClientModel.Primitives.JsonModelConverter (options, context)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="options" Type="System.ClientModel.Primitives.ModelReaderWriterOptions" />
<Parameter Name="context" Type="System.ClientModel.Primitives.ModelReaderWriterContext" />
</Parameters>
<Docs>
<param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
<param name="context">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterContext" /> for model construction.</param>
<summary>
Initializes a new instance of <see cref="T:System.ClientModel.Primitives.JsonModelConverter" /> with a <see cref="T:System.ClientModel.Primitives.ModelReaderWriterContext" />.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CanConvert">
<MemberSignature Language="C#" Value="public override bool CanConvert (Type typeToConvert);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool CanConvert(class System.Type typeToConvert) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.CanConvert(System.Type)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function CanConvert (typeToConvert As Type) As Boolean" />
<MemberSignature Language="F#" Value="override this.CanConvert : Type -> bool" Usage="jsonModelConverter.CanConvert typeToConvert" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="typeToConvert" Type="System.Type" />
</Parameters>
<Docs>
<param name="typeToConvert">The type to compare against.</param>
<summary>Determines whether the specified type can be converted.</summary>
<returns>
<see langword="true" /> if the type can be converted; otherwise, <see langword="false" />.</returns>
<remarks>
The default implementation is to return True when <paramref name="typeToConvert" /> equals typeof(T).
</remarks>
</Docs>
</Member>
<Member MemberName="Read">
<MemberSignature Language="C#" Value="public override System.ClientModel.Primitives.IJsonModel<object> Read (ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ClientModel.Primitives.IJsonModel`1<object> Read(valuetype System.Text.Json.Utf8JsonReader& reader, class System.Type typeToConvert, class System.Text.Json.JsonSerializerOptions options) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Read (ByRef reader As Utf8JsonReader, typeToConvert As Type, options As JsonSerializerOptions) As IJsonModel(Of Object)" />
<MemberSignature Language="F#" Value="override this.Read : Utf8JsonReader * Type * System.Text.Json.JsonSerializerOptions -> System.ClientModel.Primitives.IJsonModel<obj>" Usage="jsonModelConverter.Read (reader, typeToConvert, options)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ClientModel.Primitives.IJsonModel<System.Object></ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="reader" Type="System.Text.Json.Utf8JsonReader" RefType="ref" />
<Parameter Name="typeToConvert" Type="System.Type" />
<Parameter Name="options" Type="System.Text.Json.JsonSerializerOptions" />
</Parameters>
<Docs>
<param name="reader">The reader.</param>
<param name="typeToConvert">The type to convert.</param>
<param name="options">An object that specifies serialization options to use.</param>
<summary>Reads and converts the JSON to type <typeparamref name="T" />.</summary>
<returns>The converted value.</returns>
<remarks>
A converter may throw any Exception, but should throw <cref>JsonException</cref> when the JSON is invalid.
</remarks>
<remarks>Note that the value of <seealso cref="P:System.Text.Json.Serialization.JsonConverter`1.HandleNull" /> determines if the converter handles null JSON tokens.</remarks>
</Docs>
</Member>
<Member MemberName="Write">
<MemberSignature Language="C#" Value="public override void Write (System.Text.Json.Utf8JsonWriter writer, System.ClientModel.Primitives.IJsonModel<object> value, System.Text.Json.JsonSerializerOptions options);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Write(class System.Text.Json.Utf8JsonWriter writer, class System.ClientModel.Primitives.IJsonModel`1<object> value, class System.Text.Json.JsonSerializerOptions options) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ClientModel.Primitives.JsonModelConverter.Write(System.Text.Json.Utf8JsonWriter,System.ClientModel.Primitives.IJsonModel{System.Object},System.Text.Json.JsonSerializerOptions)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Sub Write (writer As Utf8JsonWriter, value As IJsonModel(Of Object), options As JsonSerializerOptions)" />
<MemberSignature Language="F#" Value="override this.Write : System.Text.Json.Utf8JsonWriter * System.ClientModel.Primitives.IJsonModel<obj> * System.Text.Json.JsonSerializerOptions -> unit" Usage="jsonModelConverter.Write (writer, value, options)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ClientModel</AssemblyName>
<AssemblyVersion>1.4.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="writer" Type="System.Text.Json.Utf8JsonWriter" />
<Parameter Name="value" Type="System.ClientModel.Primitives.IJsonModel<System.Object>" />
<Parameter Name="options" Type="System.Text.Json.JsonSerializerOptions" />
</Parameters>
<Docs>
<param name="writer">The writer to write to.</param>
<param name="value">The value to convert to JSON.</param>
<param name="options">An object that specifies serialization options to use.</param>
<summary>Writes a specified value as JSON.</summary>
<remarks>
A converter may throw any Exception, but should throw <cref>JsonException</cref> when the JSON
cannot be created.
</remarks>
</Docs>
</Member>
</Members>
</Type>