-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
DefaultJsonTypeInfoResolver.xml
158 lines (148 loc) · 11.5 KB
/
DefaultJsonTypeInfoResolver.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<Type Name="DefaultJsonTypeInfoResolver" FullName="System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver">
<TypeSignature Language="C#" Value="public class DefaultJsonTypeInfoResolver : System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DefaultJsonTypeInfoResolver extends System.Object implements class System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver" />
<TypeSignature Language="DocId" Value="T:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver" />
<TypeSignature Language="VB.NET" Value="Public Class DefaultJsonTypeInfoResolver
Implements IJsonTypeInfoResolver" />
<TypeSignature Language="F#" Value="type DefaultJsonTypeInfoResolver = class
 interface IJsonTypeInfoResolver" />
<TypeSignature Language="C++ CLI" Value="public ref class DefaultJsonTypeInfoResolver : System::Text::Json::Serialization::Metadata::IJsonTypeInfoResolver" />
<AssemblyInfo>
<AssemblyName>System.Text.Json</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(0)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(0)>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="net-8.0;net-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.NullableContext(1)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.NullableContext(1)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Defines the default, reflection-based JSON contract resolver used by System.Text.Json.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The contract resolver used by <xref:System.Text.Json.JsonSerializerOptions.Default>.
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DefaultJsonTypeInfoResolver ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 DefaultJsonTypeInfoResolver();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Text.Json</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-6.0;net-7.0;net-8.0;net-9.0">
<AttributeName Language="C#">[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="net-7.0;net-8.0;net-9.0">
<AttributeName Language="C#">[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Creates a mutable <see cref="T:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver" /> instance.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetTypeInfo">
<MemberSignature Language="C#" Value="public virtual System.Text.Json.Serialization.Metadata.JsonTypeInfo GetTypeInfo (Type type, System.Text.Json.JsonSerializerOptions options);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Text.Json.Serialization.Metadata.JsonTypeInfo GetTypeInfo(class System.Type type, class System.Text.Json.JsonSerializerOptions options) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetTypeInfo (type As Type, options As JsonSerializerOptions) As JsonTypeInfo" />
<MemberSignature Language="F#" Value="abstract member GetTypeInfo : Type * System.Text.Json.JsonSerializerOptions -> System.Text.Json.Serialization.Metadata.JsonTypeInfo
override this.GetTypeInfo : Type * System.Text.Json.JsonSerializerOptions -> System.Text.Json.Serialization.Metadata.JsonTypeInfo" Usage="defaultJsonTypeInfoResolver.GetTypeInfo (type, options)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Text::Json::Serialization::Metadata::JsonTypeInfo ^ GetTypeInfo(Type ^ type, System::Text::Json::JsonSerializerOptions ^ options);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver.GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Text.Json</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-6.0;net-7.0;net-8.0;net-9.0">
<AttributeName Language="C#">[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification="The ctor is marked RequiresUnreferencedCode.")]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification="The ctor is marked RequiresUnreferencedCode.")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="net-6.0;net-7.0;net-8.0;net-9.0">
<AttributeName Language="C#">[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("AotAnalysis", "IL3050:RequiresDynamicCode", Justification="The ctor is marked RequiresDynamicCode.")]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("AotAnalysis", "IL3050:RequiresDynamicCode", Justification="The ctor is marked RequiresDynamicCode.")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Text.Json.Serialization.Metadata.JsonTypeInfo</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
<Parameter Name="options" Type="System.Text.Json.JsonSerializerOptions" />
</Parameters>
<Docs>
<param name="type">The type for which to resolve a JSON contract.</param>
<param name="options">A <see cref="T:System.Text.Json.JsonSerializerOptions" /> instance used to determine contract configuration.</param>
<summary>Resolves a JSON contract for a given <paramref name="type" /> and <paramref name="options" /> configuration.</summary>
<returns>A <see cref="T:System.Text.Json.Serialization.Metadata.JsonTypeInfo" /> defining a reflection-derived JSON contract for <paramref name="type" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The base implementation of this method will produce a reflection-derived contract
and apply any callbacks from the <xref:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.Modifiers> list.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="type" /> or <paramref name="options" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="Modifiers">
<MemberSignature Language="C#" Value="public System.Collections.Generic.IList<Action<System.Text.Json.Serialization.Metadata.JsonTypeInfo>> Modifiers { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IList`1<class System.Action`1<class System.Text.Json.Serialization.Metadata.JsonTypeInfo>> Modifiers" />
<MemberSignature Language="DocId" Value="P:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.Modifiers" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Modifiers As IList(Of Action(Of JsonTypeInfo))" />
<MemberSignature Language="F#" Value="member this.Modifiers : System.Collections.Generic.IList<Action<System.Text.Json.Serialization.Metadata.JsonTypeInfo>>" Usage="System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.Modifiers" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Collections::Generic::IList<Action<System::Text::Json::Serialization::Metadata::JsonTypeInfo ^> ^> ^ Modifiers { System::Collections::Generic::IList<Action<System::Text::Json::Serialization::Metadata::JsonTypeInfo ^> ^> ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Text.Json</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.Generic.IList<System.Action<System.Text.Json.Serialization.Metadata.JsonTypeInfo>></ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a list of user-defined callbacks that can be used to modify the initial contract.</summary>
<value>To be added.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The modifier list will be rendered immutable after the first <xref:System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions)> invocation.
Modifier callbacks are called consecutively in the order in which they're specified in the list.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>