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&lt;System.ClientModel.Primitives.IJsonModel&lt;object&gt;&gt;" /> <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit JsonModelConverter extends System.Text.Json.Serialization.JsonConverter`1&lt;class System.ClientModel.Primitives.IJsonModel`1&lt;object&gt;&gt;" /> <TypeSignature Language="DocId" Value="T:System.ClientModel.Primitives.JsonModelConverter" /> <TypeSignature Language="VB.NET" Value="Public Class JsonModelConverter&#xA;Inherits JsonConverter(Of IJsonModel(Of Object))" /> <TypeSignature Language="F#" Value="type JsonModelConverter = class&#xA; inherit JsonConverter&lt;IJsonModel&lt;obj&gt;&gt;" /> <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&lt;System.ClientModel.Primitives.IJsonModel&lt;System.Object&gt;&gt;</BaseTypeName> <BaseTypeArguments> <BaseTypeArgument TypeParamName="!0">System.ClientModel.Primitives.IJsonModel&lt;System.Object&gt;</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 -&gt; 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 -&gt; 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 -&gt; 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&lt;object&gt; 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&lt;object&gt; Read(valuetype System.Text.Json.Utf8JsonReader&amp; 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 -&gt; System.ClientModel.Primitives.IJsonModel&lt;obj&gt;" 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&lt;System.Object&gt;</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&lt;object&gt; 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&lt;object&gt; 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&lt;obj&gt; * System.Text.Json.JsonSerializerOptions -&gt; 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&lt;System.Object&gt;" /> <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>