<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
+ <Compile Include="$(CommonPath)System\Runtime\CompilerServices\PreserveDependencyAttribute.cs">
+ <Link>Common\System\Runtime\CompilerServices\PreserveDependencyAttribute.cs</Link>
+ </Compile>
+ <Compile Include="$(CommonPath)System\HexConverter.cs">
+ <Link>Common\System\HexConverter.cs</Link>
+ </Compile>
<Compile Include="System\Text\Json\BitStack.cs" />
- <Compile Include="System\Text\Json\JsonCommentHandling.cs" />
- <Compile Include="System\Text\Json\JsonConstants.cs" />
- <Compile Include="System\Text\Json\JsonEncodedText.cs" />
- <Compile Include="System\Text\Json\JsonException.cs" />
- <Compile Include="System\Text\Json\JsonHelpers.cs" />
- <Compile Include="System\Text\Json\JsonHelpers.Date.cs" />
- <Compile Include="System\Text\Json\JsonTokenType.cs" />
- <Compile Include="System\Text\Json\ThrowHelper.cs" />
- <Compile Include="System\Text\Json\ThrowHelper.Serialization.cs" />
<Compile Include="System\Text\Json\Document\JsonDocument.cs" />
<Compile Include="System\Text\Json\Document\JsonDocument.DbRow.cs" />
<Compile Include="System\Text\Json\Document\JsonDocument.MetadataDb.cs" />
<Compile Include="System\Text\Json\Document\JsonDocument.StackRowStack.cs" />
<Compile Include="System\Text\Json\Document\JsonDocument.TryGetProperty.cs" />
<Compile Include="System\Text\Json\Document\JsonDocumentOptions.cs" />
- <Compile Include="System\Text\Json\Document\JsonElement.cs" />
<Compile Include="System\Text\Json\Document\JsonElement.ArrayEnumerator.cs" />
+ <Compile Include="System\Text\Json\Document\JsonElement.cs" />
<Compile Include="System\Text\Json\Document\JsonElement.ObjectEnumerator.cs" />
<Compile Include="System\Text\Json\Document\JsonProperty.cs" />
<Compile Include="System\Text\Json\Document\JsonValueKind.cs" />
+ <Compile Include="System\Text\Json\JsonCommentHandling.cs" />
+ <Compile Include="System\Text\Json\JsonConstants.cs" />
+ <Compile Include="System\Text\Json\JsonEncodedText.cs" />
+ <Compile Include="System\Text\Json\JsonException.cs" />
+ <Compile Include="System\Text\Json\JsonHelpers.cs" />
+ <Compile Include="System\Text\Json\JsonHelpers.Date.cs" />
+ <Compile Include="System\Text\Json\JsonTokenType.cs" />
+ <Compile Include="System\Text\Json\Node\DuplicatePropertyNameHandlingStrategy.cs" />
+ <Compile Include="System\Text\Json\Node\JsonArray.cs" />
+ <Compile Include="System\Text\Json\Node\JsonArrayEnumerator.cs" />
+ <Compile Include="System\Text\Json\Node\JsonBoolean.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNode.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNode.RecursionStackFrame.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNode.Traversal.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNode.TraversalHelpers.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNodeOptions.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNull.cs" />
+ <Compile Include="System\Text\Json\Node\JsonNumber.cs" />
+ <Compile Include="System\Text\Json\Node\JsonObject.cs" />
+ <Compile Include="System\Text\Json\Node\JsonObjectEnumerator.cs" />
+ <Compile Include="System\Text\Json\Node\JsonObjectProperty.cs" />
+ <Compile Include="System\Text\Json\Node\JsonString.cs" />
<Compile Include="System\Text\Json\Reader\ConsumeNumberResult.cs" />
<Compile Include="System\Text\Json\Reader\ConsumeTokenResult.cs" />
+ <Compile Include="System\Text\Json\Reader\JsonReaderException.cs" />
<Compile Include="System\Text\Json\Reader\JsonReaderHelper.cs" />
<Compile Include="System\Text\Json\Reader\JsonReaderHelper.Unescaping.cs" />
- <Compile Include="System\Text\Json\Reader\JsonReaderException.cs" />
<Compile Include="System\Text\Json\Reader\JsonReaderOptions.cs" />
<Compile Include="System\Text\Json\Reader\JsonReaderState.cs" />
<Compile Include="System\Text\Json\Reader\Utf8JsonReader.cs" />
<Compile Include="System\Text\Json\Reader\Utf8JsonReader.TryGet.cs" />
<Compile Include="System\Text\Json\Serialization\ClassType.cs" />
<Compile Include="System\Text\Json\Serialization\ConverterList.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ArrayConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ConcurrentQueueOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ConcurrentStackOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\DictionaryDefaultConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\DictionaryOfStringTValueConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ICollectionOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IDictionaryConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IDictionaryOfStringTValueConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableConverterFactory.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableDefaultConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IEnumerableWithAddMethodConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IListConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IListOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableDictionaryOfStringTValueConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ImmutableEnumerableOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\IReadOnlyDictionaryOfStringTValueConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ISetOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\ListOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\QueueOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Collection\StackOfTConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectConverterFactory.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Object\ObjectDefaultConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\BooleanConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\ByteArrayConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\ByteConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\CharConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\DateTimeConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\DateTimeOffsetConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\DecimalConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\DoubleConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverterFactory.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\EnumConverterOptions.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\GuidConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\Int16Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\Int32Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\Int64Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\JsonElementConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\KeyValuePairConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\KeyValuePairConverterFactory.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\NullableConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\NullableConverterFactory.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\ObjectConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\SByteConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\SingleConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\StringConverter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt16Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt32Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\UInt64Converter.cs" />
+ <Compile Include="System\Text\Json\Serialization\Converters\Value\UriConverter.cs" />
<Compile Include="System\Text\Json\Serialization\DefaultReferenceResolver.cs" />
<Compile Include="System\Text\Json\Serialization\ExtensionMethods.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\EnumConverterOptions.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonArrayConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonConcurrentQueueOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonConcurrentStackOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonConverterEnum.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonDictionaryDefaultConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonDictionaryOfStringTValueConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonICollectionOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIDictionaryConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIDictionaryOfStringTValueConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIEnumerableConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIEnumerableConverterFactory.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIEnumerableDefaultConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIEnumerableOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIEnumerableWithAddMethodConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIListConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIListOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonImmutableDictionaryOfStringTValueConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonImmutableEnumerableOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonIReadOnlyDictionaryOfStringTValueConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonISetOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonKeyValuePairConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonListOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonObjectDefaultConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonObjectConverterFactory.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonQueueOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonStackOfTConverter.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterBoolean.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterByte.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterByteArray.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterChar.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterDateTime.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterDateTimeOffset.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterDecimal.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterDouble.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterEnum.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterGuid.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterInt16.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterInt32.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterInt64.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterJsonElement.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterKeyValuePair.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterNullable.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterNullableFactory.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterObject.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterSByte.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterSingle.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterString.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterUInt16.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterUInt32.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterUInt64.cs" />
- <Compile Include="System\Text\Json\Serialization\Converters\JsonValueConverterUri.cs" />
<Compile Include="System\Text\Json\Serialization\JsonAttribute.cs" />
<Compile Include="System\Text\Json\Serialization\JsonCamelCaseNamingPolicy.cs" />
- <Compile Include="System\Text\Json\Serialization\JsonClassInfo.cs" />
<Compile Include="System\Text\Json\Serialization\JsonClassInfo.AddProperty.cs" />
+ <Compile Include="System\Text\Json\Serialization\JsonClassInfo.cs" />
<Compile Include="System\Text\Json\Serialization\JsonCollectionConverter.cs" />
<Compile Include="System\Text\Json\Serialization\JsonConverter.cs" />
<Compile Include="System\Text\Json\Serialization\JsonConverter.ReadAhead.cs" />
<Compile Include="System\Text\Json\Serialization\JsonPropertyInfoOfTConverter.cs" />
<Compile Include="System\Text\Json\Serialization\JsonPropertyNameAttribute.cs" />
<Compile Include="System\Text\Json\Serialization\JsonResumableConverterOfT.cs" />
+ <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.HandleMetadata.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.HandlePropertyName.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Helpers.cs" />
+ <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Span.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Stream.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.String.cs" />
- <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.cs" />
- <Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Span.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Read.Utf8JsonReader.cs" />
- <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.ByteArray.cs" />
+ <Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.HandleMetadata.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Helpers.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Stream.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.String.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializer.Write.Utf8JsonWriter.cs" />
- <Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.cs" />
<Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.Converters.cs" />
+ <Compile Include="System\Text\Json\Serialization\JsonSerializerOptions.cs" />
<Compile Include="System\Text\Json\Serialization\JsonStringEnumConverter.cs" />
<Compile Include="System\Text\Json\Serialization\JsonValueConverterOfT.cs" />
<Compile Include="System\Text\Json\Serialization\MemberAccessor.cs" />
<Compile Include="System\Text\Json\Serialization\StackFramePropertyState.cs" />
<Compile Include="System\Text\Json\Serialization\WriteStack.cs" />
<Compile Include="System\Text\Json\Serialization\WriteStackFrame.cs" />
+ <Compile Include="System\Text\Json\ThrowHelper.cs" />
+ <Compile Include="System\Text\Json\ThrowHelper.Serialization.cs" />
<Compile Include="System\Text\Json\Writer\JsonWriterHelper.cs" />
<Compile Include="System\Text\Json\Writer\JsonWriterHelper.Date.cs" />
<Compile Include="System\Text\Json\Writer\JsonWriterHelper.Escaping.cs" />
<Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.SignedNumber.cs" />
<Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.String.cs" />
<Compile Include="System\Text\Json\Writer\Utf8JsonWriter.WriteValues.UnsignedNumber.cs" />
- <Compile Include="$(CommonPath)System\Runtime\CompilerServices\PreserveDependencyAttribute.cs">
- <Link>Common\System\Runtime\CompilerServices\PreserveDependencyAttribute.cs</Link>
- </Compile>
- <Compile Include="$(CommonPath)System\HexConverter.cs">
- <Link>Common\System\HexConverter.cs</Link>
- </Compile>
</ItemGroup>
<ItemGroup Condition="'$(TargetsNetStandard)' == 'true' or '$(TargetsNetFx)' == 'true'">
<Compile Include="System\Collections\Generic\StackExtensions.netstandard.cs" />
<Reference Include="System.Threading.Tasks" />
<Reference Include="System.Threading.Tasks.Extensions" />
</ItemGroup>
- <ItemGroup>
- <Compile Include="System\Text\Json\Node\DuplicatePropertyNameHandlingStrategy.cs" />
- <Compile Include="System\Text\Json\Node\JsonArray.cs" />
- <Compile Include="System\Text\Json\Node\JsonArrayEnumerator.cs" />
- <Compile Include="System\Text\Json\Node\JsonBoolean.cs" />
- <Compile Include="System\Text\Json\Node\JsonNode.cs" />
- <Compile Include="System\Text\Json\Node\JsonNode.RecursionStackFrame.cs" />
- <Compile Include="System\Text\Json\Node\JsonNode.Traversal.cs" />
- <Compile Include="System\Text\Json\Node\JsonNode.TraversalHelpers.cs" />
- <Compile Include="System\Text\Json\Node\JsonNodeOptions.cs" />
- <Compile Include="System\Text\Json\Node\JsonNull.cs" />
- <Compile Include="System\Text\Json\Node\JsonNumber.cs" />
- <Compile Include="System\Text\Json\Node\JsonObject.cs" />
- <Compile Include="System\Text\Json\Node\JsonObjectEnumerator.cs" />
- <Compile Include="System\Text\Json\Node\JsonObjectProperty.cs" />
- <Compile Include="System\Text\Json\Node\JsonString.cs" />
- </ItemGroup>
</Project>
/// <summary>
/// Converter for <cref>System.Array</cref>.
/// </summary>
- internal sealed class JsonArrayConverter<TCollection, TElement>
- : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ArrayConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection: IEnumerable
{
internal override bool CanHaveIdMetadata => false;
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConcurrentQueueOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ConcurrentQueueOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : ConcurrentQueue<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConcurrentStackOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ConcurrentStackOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : ConcurrentStack<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
/// Converter for Dictionary{string, TValue} that (de)serializes as a JSON object with properties
/// representing the dictionary element key and value.
/// </summary>
- internal sealed class JsonDictionaryOfStringTValueConverter<TCollection, TValue>
+ internal sealed class DictionaryOfStringTValueConverter<TCollection, TValue>
: JsonDictionaryDefaultConverter<TCollection, TValue>
where TCollection : Dictionary<string, TValue>
{
/// <summary>
/// Converter for <cref>System.Collections.Generic.ICollection{TElement}</cref>.
/// </summary>
- internal sealed class JsonICollectionOfTConverter<TCollection, TElement>
- : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ICollectionOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : ICollection<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
/// Converter for <cref>System.Collections.IDictionary</cref> that (de)serializes as a JSON object with properties
/// representing the dictionary element key and value.
/// </summary>
- internal sealed class JsonIDictionaryConverter<TCollection>
+ internal sealed class IDictionaryConverter<TCollection>
: JsonDictionaryDefaultConverter<TCollection, object?>
where TCollection : IDictionary
{
/// Converter for <cref>System.Collections.Generic.IDictionary{string, TValue}</cref> that
/// (de)serializes as a JSON object with properties representing the dictionary element key and value.
/// </summary>
- internal sealed class JsonIDictionaryOfStringTValueConverter<TCollection, TValue>
+ internal sealed class IDictionaryOfStringTValueConverter<TCollection, TValue>
: JsonDictionaryDefaultConverter<TCollection, TValue>
where TCollection : IDictionary<string, TValue>
{
/// Converter for <cref>System.Collections.IEnumerable</cref>.
/// </summary>
/// <typeparam name="TCollection"></typeparam>
- internal sealed class JsonIEnumerableConverter<TCollection>
- : JsonIEnumerableDefaultConverter<TCollection, object?>
+ internal sealed class IEnumerableConverter<TCollection>
+ : IEnumerableDefaultConverter<TCollection, object?>
where TCollection : IEnumerable
{
protected override void Add(object? value, ref ReadStack state)
/// </summary>
internal class JsonIEnumerableConverterFactory : JsonConverterFactory
{
- private static readonly JsonIDictionaryConverter<IDictionary> s_converterForIDictionary = new JsonIDictionaryConverter<IDictionary>();
- private static readonly JsonIEnumerableConverter<IEnumerable> s_converterForIEnumerable = new JsonIEnumerableConverter<IEnumerable>();
- private static readonly JsonIListConverter<IList> s_converterForIList = new JsonIListConverter<IList>();
+ private static readonly IDictionaryConverter<IDictionary> s_converterForIDictionary = new IDictionaryConverter<IDictionary>();
+ private static readonly IEnumerableConverter<IEnumerable> s_converterForIEnumerable = new IEnumerableConverter<IEnumerable>();
+ private static readonly IListConverter<IList> s_converterForIList = new IListConverter<IList>();
public override bool CanConvert(Type typeToConvert)
{
return typeof(IEnumerable).IsAssignableFrom(typeToConvert);
}
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonArrayConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonConcurrentQueueOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonConcurrentStackOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonDefaultArrayConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonDictionaryOfStringTValueConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonICollectionOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIDictionaryOfStringTValueConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIEnumerableOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIEnumerableWithAddMethodConverter`1")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIListConverter`1")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIListOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonImmutableDictionaryOfStringTValueConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonImmutableEnumerableOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonIReadOnlyDictionaryOfStringTValueConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonISetOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonListOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonQueueOfTConverter`2")]
- [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.JsonStackOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ArrayConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ConcurrentQueueOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ConcurrentStackOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.DefaultArrayConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.DictionaryOfStringTValueConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ICollectionOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IDictionaryOfStringTValueConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IEnumerableOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IEnumerableWithAddMethodConverter`1")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IListConverter`1")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IListOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ImmutableDictionaryOfStringTValueConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ImmutableEnumerableOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.IReadOnlyDictionaryOfStringTValueConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ISetOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.ListOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.QueueOfTConverter`2")]
+ [PreserveDependency(".ctor", "System.Text.Json.Serialization.Converters.StackOfTConverter`2")]
public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options)
{
JsonConverter? converter = null;
return null;
}
- converterType = typeof(JsonArrayConverter<,>);
+ converterType = typeof(ArrayConverter<,>);
elementType = typeToConvert.GetElementType();
}
// List<> or deriving from List<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericBaseClass(typeof(List<>))) != null)
{
- converterType = typeof(JsonListOfTConverter<,>);
+ converterType = typeof(ListOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// Dictionary<string,> or deriving from Dictionary<string,>
genericArgs = actualTypeToConvert.GetGenericArguments();
if (genericArgs[0] == typeof(string))
{
- converterType = typeof(JsonDictionaryOfStringTValueConverter<,>);
+ converterType = typeof(DictionaryOfStringTValueConverter<,>);
elementType = genericArgs[1];
}
else
genericArgs = typeToConvert.GetGenericArguments();
if (genericArgs[0] == typeof(string))
{
- converterType = typeof(JsonImmutableDictionaryOfStringTValueConverter<,>);
+ converterType = typeof(ImmutableDictionaryOfStringTValueConverter<,>);
elementType = genericArgs[1];
}
else
genericArgs = actualTypeToConvert.GetGenericArguments();
if (genericArgs[0] == typeof(string))
{
- converterType = typeof(JsonIDictionaryOfStringTValueConverter<,>);
+ converterType = typeof(IDictionaryOfStringTValueConverter<,>);
elementType = genericArgs[1];
}
else
genericArgs = actualTypeToConvert.GetGenericArguments();
if (genericArgs[0] == typeof(string))
{
- converterType = typeof(JsonIReadOnlyDictionaryOfStringTValueConverter<,>);
+ converterType = typeof(IReadOnlyDictionaryOfStringTValueConverter<,>);
elementType = genericArgs[1];
}
else
// Immutable non-dictionaries from System.Collections.Immutable, e.g. ImmutableStack<T>
else if (typeToConvert.IsImmutableEnumerableType())
{
- converterType = typeof(JsonImmutableEnumerableOfTConverter<,>);
+ converterType = typeof(ImmutableEnumerableOfTConverter<,>);
elementType = typeToConvert.GetGenericArguments()[0];
}
// IList<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericInterface(typeof(IList<>))) != null)
{
- converterType = typeof(JsonIListOfTConverter<,>);
+ converterType = typeof(IListOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// ISet<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericInterface(typeof(ISet<>))) != null)
{
- converterType = typeof(JsonISetOfTConverter<,>);
+ converterType = typeof(ISetOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// ICollection<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericInterface(typeof(ICollection<>))) != null)
{
- converterType = typeof(JsonICollectionOfTConverter<,>);
+ converterType = typeof(ICollectionOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// Stack<> or deriving from Stack<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericBaseClass(typeof(Stack<>))) != null)
{
- converterType = typeof(JsonStackOfTConverter<,>);
+ converterType = typeof(StackOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// Queue<> or deriving from Queue<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericBaseClass(typeof(Queue<>))) != null)
{
- converterType = typeof(JsonQueueOfTConverter<,>);
+ converterType = typeof(QueueOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// ConcurrentStack<> or deriving from ConcurrentStack<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericBaseClass(typeof(ConcurrentStack<>))) != null)
{
- converterType = typeof(JsonConcurrentStackOfTConverter<,>);
+ converterType = typeof(ConcurrentStackOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// ConcurrentQueue<> or deriving from ConcurrentQueue<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericBaseClass(typeof(ConcurrentQueue<>))) != null)
{
- converterType = typeof(JsonConcurrentQueueOfTConverter<,>);
+ converterType = typeof(ConcurrentQueueOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// IEnumerable<>, types assignable from List<>
else if ((actualTypeToConvert = typeToConvert.GetCompatibleGenericInterface(typeof(IEnumerable<>))) != null)
{
- converterType = typeof(JsonIEnumerableOfTConverter<,>);
+ converterType = typeof(IEnumerableOfTConverter<,>);
elementType = actualTypeToConvert.GetGenericArguments()[0];
}
// Check for non-generics after checking for generics.
return s_converterForIDictionary;
}
- converterType = typeof(JsonIDictionaryConverter<>);
+ converterType = typeof(IDictionaryConverter<>);
}
else if (typeof(IList).IsAssignableFrom(typeToConvert))
{
return s_converterForIList;
}
- converterType = typeof(JsonIListConverter<>);
+ converterType = typeof(IListConverter<>);
}
else if (typeToConvert.IsNonGenericStackOrQueue())
{
- converterType = typeof(JsonIEnumerableWithAddMethodConverter<>);
+ converterType = typeof(IEnumerableWithAddMethodConverter<>);
}
else
{
return s_converterForIEnumerable;
}
- converterType = typeof(JsonIEnumerableConverter<>);
+ converterType = typeof(IEnumerableConverter<>);
}
if (converterType != null)
/// <summary>
/// Default base class implementation of <cref>JsonIEnumerableConverter{TCollection, TElement}</cref>.
/// </summary>
- internal abstract class JsonIEnumerableDefaultConverter<TCollection, TElement> : JsonCollectionConverter<TCollection, TElement>
+ internal abstract class IEnumerableDefaultConverter<TCollection, TElement>
+ : JsonCollectionConverter<TCollection, TElement>
{
protected abstract void Add(TElement value, ref ReadStack state);
protected abstract void CreateCollection(ref ReadStack state, JsonSerializerOptions options);
/// <summary>
/// Converter for <cref>System.Collections.Generic.IEnumerable{TElement}</cref>.
/// </summary>
- internal sealed class JsonIEnumerableOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class IEnumerableOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : IEnumerable<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonIEnumerableWithAddMethodConverter<TCollection> :
- JsonIEnumerableDefaultConverter<TCollection, object?>
+ internal sealed class IEnumerableWithAddMethodConverter<TCollection>
+ : IEnumerableDefaultConverter<TCollection, object?>
where TCollection : IEnumerable
{
protected override void Add(object? value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
/// Converter for <cref>System.Collections.IList</cref>.
- internal sealed class JsonIListConverter<TCollection> : JsonIEnumerableDefaultConverter<TCollection, object>
+ internal sealed class IListConverter<TCollection>
+ : IEnumerableDefaultConverter<TCollection, object>
where TCollection : IList
{
protected override void Add(object? value, ref ReadStack state)
/// <summary>
/// Converter for <cref>System.Collections.Generic.IList{TElement}</cref>.
/// </summary>
- internal sealed class JsonIListOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class IListOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : IList<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonIReadOnlyDictionaryOfStringTValueConverter<TCollection, TValue> : JsonDictionaryDefaultConverter<TCollection, TValue>
+ internal sealed class IReadOnlyDictionaryOfStringTValueConverter<TCollection, TValue>
+ : JsonDictionaryDefaultConverter<TCollection, TValue>
where TCollection : IReadOnlyDictionary<string, TValue>
{
protected override void Add(TValue value, JsonSerializerOptions options, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonISetOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ISetOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : ISet<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonImmutableDictionaryOfStringTValueConverter<TCollection, TValue> : JsonDictionaryDefaultConverter<TCollection, TValue>
+ internal sealed class ImmutableDictionaryOfStringTValueConverter<TCollection, TValue>
+ : JsonDictionaryDefaultConverter<TCollection, TValue>
where TCollection : IReadOnlyDictionary<string, TValue>
{
protected override void Add(TValue value, JsonSerializerOptions options, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonImmutableEnumerableOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ImmutableEnumerableOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : IEnumerable<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
/// Converter for <cref>System.Collections.Generic.List{TElement}</cref>.
- internal sealed class JsonListOfTConverter<TCollection, TElement>
- : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class ListOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection: List<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonQueueOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class QueueOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : Queue<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonStackOfTConverter<TCollection, TElement> : JsonIEnumerableDefaultConverter<TCollection, TElement>
+ internal sealed class StackOfTConverter<TCollection, TElement>
+ : IEnumerableDefaultConverter<TCollection, TElement>
where TCollection : Stack<TElement>
{
protected override void Add(TElement value, ref ReadStack state)
/// <summary>
/// Converter factory for all object-based types (non-enumerable and non-primitive).
/// </summary>
- internal class JsonObjectConverterFactory : JsonConverterFactory
+ internal class ObjectConverterFactory : JsonConverterFactory
{
public override bool CanConvert(Type typeToConvert)
{
public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)
{
JsonConverter converter = (JsonConverter)Activator.CreateInstance(
- typeof(JsonObjectDefaultConverter<>).MakeGenericType(typeToConvert),
+ typeof(ObjectDefaultConverter<>).MakeGenericType(typeToConvert),
BindingFlags.Instance | BindingFlags.Public,
binder: null,
args: null,
/// <summary>
/// Default base class implementation of <cref>JsonObjectConverter{T}</cref>.
/// </summary>
- internal sealed class JsonObjectDefaultConverter<T> : JsonObjectConverter<T>
+ internal sealed class ObjectDefaultConverter<T> : JsonObjectConverter<T>
{
internal override bool OnTryRead(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options, ref ReadStack state, out T value)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterBoolean : JsonConverter<bool>
+ internal sealed class BooleanConverter : JsonConverter<bool>
{
public override bool Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterByteArray : JsonConverter<byte[]>
+ internal sealed class ByteArrayConverter : JsonConverter<byte[]>
{
public override byte[] Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterByte : JsonConverter<byte>
+ internal sealed class ByteConverter : JsonConverter<byte>
{
public override byte Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterChar : JsonConverter<char>
+ internal sealed class CharConverter : JsonConverter<char>
{
public override char Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterDateTime : JsonConverter<DateTime>
+ internal sealed class DateTimeConverter : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterDateTimeOffset : JsonConverter<DateTimeOffset>
+ internal sealed class DateTimeOffsetConverter : JsonConverter<DateTimeOffset>
{
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterDecimal : JsonConverter<decimal>
+ internal sealed class DecimalConverter : JsonConverter<decimal>
{
public override decimal Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterDouble : JsonConverter<double>
+ internal sealed class DoubleConverter : JsonConverter<double>
{
public override double Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal class JsonConverterEnum<T> : JsonConverter<T>
+ internal class EnumConverter<T> : JsonConverter<T>
where T : struct, Enum
{
private static readonly TypeCode s_enumTypeCode = Type.GetTypeCode(typeof(T));
return type.IsEnum;
}
- public JsonConverterEnum(EnumConverterOptions options)
+ public EnumConverter(EnumConverterOptions options)
: this(options, namingPolicy: null)
{
}
- public JsonConverterEnum(EnumConverterOptions options, JsonNamingPolicy? namingPolicy)
+ public EnumConverter(EnumConverterOptions options, JsonNamingPolicy? namingPolicy)
{
_converterOptions = options;
if (namingPolicy != null)
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterEnum : JsonConverterFactory
+ internal sealed class EnumConverterFactory : JsonConverterFactory
{
- public JsonConverterEnum()
+ public EnumConverterFactory()
{
}
[PreserveDependency(
".ctor(System.Text.Json.Serialization.Converters.EnumConverterOptions)",
- "System.Text.Json.Serialization.Converters.JsonConverterEnum`1")]
+ "System.Text.Json.Serialization.Converters.EnumConverter`1")]
public override JsonConverter CreateConverter(Type type, JsonSerializerOptions options)
{
JsonConverter converter = (JsonConverter)Activator.CreateInstance(
- typeof(JsonConverterEnum<>).MakeGenericType(type),
+ typeof(EnumConverter<>).MakeGenericType(type),
BindingFlags.Instance | BindingFlags.Public,
binder: null,
new object[] { EnumConverterOptions.AllowNumbers },
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterGuid : JsonConverter<Guid>
+ internal sealed class GuidConverter : JsonConverter<Guid>
{
public override Guid Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterInt16 : JsonConverter<short>
+ internal sealed class Int16Converter : JsonConverter<short>
{
public override short Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterInt32 : JsonConverter<int>
+ internal sealed class Int32Converter : JsonConverter<int>
{
public override int Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterInt64 : JsonConverter<long>
+ internal sealed class Int64Converter : JsonConverter<long>
{
public override long Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterJsonElement : JsonConverter<JsonElement>
+ internal sealed class JsonElementConverter : JsonConverter<JsonElement>
{
public override JsonElement Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonKeyValuePairConverter<TKey, TValue> : JsonValueConverter<KeyValuePair<TKey, TValue>>
+ internal sealed class KeyValuePairConverter<TKey, TValue> : JsonValueConverter<KeyValuePair<TKey, TValue>>
{
private const string KeyName = "Key";
private const string ValueName = "Value";
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonKeyValuePairConverter : JsonConverterFactory
+ internal sealed class KeyValuePairConverterFactory : JsonConverterFactory
{
public override bool CanConvert(Type typeToConvert)
{
return (generic == typeof(KeyValuePair<,>));
}
- [PreserveDependency(".ctor()", "System.Text.Json.Serialization.Converters.JsonKeyValuePairConverter`2")]
+ [PreserveDependency(".ctor()", "System.Text.Json.Serialization.Converters.KeyValuePairConverter`2")]
public override JsonConverter CreateConverter(Type type, JsonSerializerOptions options)
{
Type keyType = type.GetGenericArguments()[0];
Type valueType = type.GetGenericArguments()[1];
JsonConverter converter = (JsonConverter)Activator.CreateInstance(
- typeof(JsonKeyValuePairConverter<,>).MakeGenericType(new Type[] { keyType, valueType }),
+ typeof(KeyValuePairConverter<,>).MakeGenericType(new Type[] { keyType, valueType }),
BindingFlags.Instance | BindingFlags.Public,
binder: null,
args: null,
namespace System.Text.Json.Serialization
{
- internal class JsonValueConverterNullable<T> : JsonConverter<T?> where T : struct
+ internal class NullableConverter<T> : JsonConverter<T?> where T : struct
{
// It is possible to cache the underlying converter since this is an internal converter and
// an instance is created only once for each JsonSerializerOptions instance.
private readonly JsonConverter<T> _converter;
- public JsonValueConverterNullable(JsonConverter<T> converter)
+ public NullableConverter(JsonConverter<T> converter)
{
_converter = converter;
}
namespace System.Text.Json.Serialization
{
- internal class JsonValueConverterNullableFactory : JsonConverterFactory
+ internal class NullableConverterFactory : JsonConverterFactory
{
public override bool CanConvert(Type typeToConvert)
{
}
JsonConverter converter = (JsonConverter)Activator.CreateInstance(
- typeof(JsonValueConverterNullable<>).MakeGenericType(valueTypeToConvert),
+ typeof(NullableConverter<>).MakeGenericType(valueTypeToConvert),
BindingFlags.Instance | BindingFlags.Public,
binder: null,
args: new object[] { valueConverter },
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterObject : JsonConverter<object>
+ internal sealed class ObjectConverter : JsonConverter<object>
{
public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterSByte : JsonConverter<sbyte>
+ internal sealed class SByteConverter : JsonConverter<sbyte>
{
public override sbyte Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterSingle : JsonConverter<float>
+ internal sealed class SingleConverter : JsonConverter<float>
{
public override float Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterString : JsonConverter<string?>
+ internal sealed class StringConverter : JsonConverter<string?>
{
public override string? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterUInt16 : JsonConverter<ushort>
+ internal sealed class UInt16Converter : JsonConverter<ushort>
{
public override ushort Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterUInt32 : JsonConverter<uint>
+ internal sealed class UInt32Converter : JsonConverter<uint>
{
public override uint Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterUInt64 : JsonConverter<ulong>
+ internal sealed class UInt64Converter : JsonConverter<ulong>
{
public override ulong Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
namespace System.Text.Json.Serialization.Converters
{
- internal sealed class JsonConverterUri : JsonConverter<Uri>
+ internal sealed class UriConverter : JsonConverter<Uri>
{
public override Uri Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
-using System.Buffers;
using System.Diagnostics;
using System.Reflection;
using System.Collections.Concurrent;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Text.Json.Serialization;
var converters = new List<JsonConverter>(NumberOfConverters);
// Nullable converter should always be first since it forwards to any nullable type.
- converters.Add(new JsonValueConverterNullableFactory());
+ converters.Add(new NullableConverterFactory());
- converters.Add(new JsonConverterEnum());
- converters.Add(new JsonKeyValuePairConverter());
+ converters.Add(new EnumConverterFactory());
+ converters.Add(new KeyValuePairConverterFactory());
// IEnumerable should always be last since they can convert any IEnumerable.
converters.Add(new JsonIEnumerableConverterFactory());
// Object should always be last since it converts any type.
- converters.Add(new JsonObjectConverterFactory());
+ converters.Add(new ObjectConverterFactory());
Debug.Assert(NumberOfConverters == converters.Count);
{
// When adding to this, update NumberOfSimpleConverters above.
- yield return new JsonConverterBoolean();
- yield return new JsonConverterByte();
- yield return new JsonConverterByteArray();
- yield return new JsonConverterChar();
- yield return new JsonConverterDateTime();
- yield return new JsonConverterDateTimeOffset();
- yield return new JsonConverterDouble();
- yield return new JsonConverterDecimal();
- yield return new JsonConverterGuid();
- yield return new JsonConverterInt16();
- yield return new JsonConverterInt32();
- yield return new JsonConverterInt64();
- yield return new JsonConverterJsonElement();
- yield return new JsonConverterObject();
- yield return new JsonConverterSByte();
- yield return new JsonConverterSingle();
- yield return new JsonConverterString();
- yield return new JsonConverterUInt16();
- yield return new JsonConverterUInt32();
- yield return new JsonConverterUInt64();
- yield return new JsonConverterUri();
+ yield return new BooleanConverter();
+ yield return new ByteConverter();
+ yield return new ByteArrayConverter();
+ yield return new CharConverter();
+ yield return new DateTimeConverter();
+ yield return new DateTimeOffsetConverter();
+ yield return new DoubleConverter();
+ yield return new DecimalConverter();
+ yield return new GuidConverter();
+ yield return new Int16Converter();
+ yield return new Int32Converter();
+ yield return new Int64Converter();
+ yield return new JsonElementConverter();
+ yield return new ObjectConverter();
+ yield return new SByteConverter();
+ yield return new SingleConverter();
+ yield return new StringConverter();
+ yield return new UInt16Converter();
+ yield return new UInt32Converter();
+ yield return new UInt64Converter();
+ yield return new UriConverter();
}
}
}
/// <inheritdoc />
[PreserveDependency(
".ctor(System.Text.Json.Serialization.Converters.EnumConverterOptions, System.Text.Json.JsonNamingPolicy)",
- "System.Text.Json.Serialization.Converters.JsonConverterEnum`1")]
+ "System.Text.Json.Serialization.Converters.EnumConverter`1")]
public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)
{
JsonConverter converter = (JsonConverter)Activator.CreateInstance(
- typeof(JsonConverterEnum<>).MakeGenericType(typeToConvert),
+ typeof(EnumConverter<>).MakeGenericType(typeToConvert),
BindingFlags.Instance | BindingFlags.Public,
binder: null,
new object?[] { _converterOptions, _namingPolicy },
[Fact]
public static void Options_GetConverterForObjectJsonElement_GivesCorrectConverter()
{
- GenericObjectOrJsonElementConverterTestHelper<object>("JsonConverterObject", new object(), "[3]", true);
+ GenericObjectOrJsonElementConverterTestHelper<object>("ObjectConverter", new object(), "[3]", true);
JsonElement element = JsonDocument.Parse("[3]").RootElement;
- GenericObjectOrJsonElementConverterTestHelper<JsonElement>("JsonConverterJsonElement", element, "[3]", false);
+ GenericObjectOrJsonElementConverterTestHelper<JsonElement>("JsonElementConverter", element, "[3]", false);
}
private static void GenericObjectOrJsonElementConverterTestHelper<T>(string converterName, object objectValue, string stringValue, bool throws)
public static void Options_GetConverter_GivesCorrectDefaultConverterAndReadWriteSuccess()
{
var options = new JsonSerializerOptions();
- GenericConverterTestHelper<bool>("JsonConverterBoolean", true, "true", options);
- GenericConverterTestHelper<byte>("JsonConverterByte", (byte)128, "128", options);
- GenericConverterTestHelper<char>("JsonConverterChar", 'A', "\"A\"", options);
- GenericConverterTestHelper<double>("JsonConverterDouble", 15.1d, "15.1", options);
- GenericConverterTestHelper<SampleEnum>("JsonConverterEnum`1", SampleEnum.Two, "2", options);
- GenericConverterTestHelper<short>("JsonConverterInt16", (short)5, "5", options);
- GenericConverterTestHelper<int>("JsonConverterInt32", -100, "-100", options);
- GenericConverterTestHelper<long>("JsonConverterInt64", (long)11111, "11111", options);
- GenericConverterTestHelper<sbyte>("JsonConverterSByte", (sbyte)-121, "-121", options);
- GenericConverterTestHelper<float>("JsonConverterSingle", 14.5f, "14.5", options);
- GenericConverterTestHelper<string>("JsonConverterString", "Hello", "\"Hello\"", options);
- GenericConverterTestHelper<ushort>("JsonConverterUInt16", (ushort)1206, "1206", options);
- GenericConverterTestHelper<uint>("JsonConverterUInt32", (uint)3333, "3333", options);
- GenericConverterTestHelper<ulong>("JsonConverterUInt64", (ulong)44444, "44444", options);
- GenericConverterTestHelper<decimal>("JsonConverterDecimal", 3.3m, "3.3", options);
- GenericConverterTestHelper<byte[]>("JsonConverterByteArray", new byte[] { 1, 2, 3, 4 }, "\"AQIDBA==\"", options);
- GenericConverterTestHelper<DateTime>("JsonConverterDateTime", new DateTime(2018, 12, 3), "\"2018-12-03T00:00:00\"", options);
- GenericConverterTestHelper<DateTimeOffset>("JsonConverterDateTimeOffset", new DateTimeOffset(new DateTime(2018, 12, 3, 00, 00, 00, DateTimeKind.Utc)), "\"2018-12-03T00:00:00+00:00\"", options);
+ GenericConverterTestHelper<bool>("BooleanConverter", true, "true", options);
+ GenericConverterTestHelper<byte>("ByteConverter", (byte)128, "128", options);
+ GenericConverterTestHelper<char>("CharConverter", 'A', "\"A\"", options);
+ GenericConverterTestHelper<double>("DoubleConverter", 15.1d, "15.1", options);
+ GenericConverterTestHelper<SampleEnum>("EnumConverter`1", SampleEnum.Two, "2", options);
+ GenericConverterTestHelper<short>("Int16Converter", (short)5, "5", options);
+ GenericConverterTestHelper<int>("Int32Converter", -100, "-100", options);
+ GenericConverterTestHelper<long>("Int64Converter", (long)11111, "11111", options);
+ GenericConverterTestHelper<sbyte>("SByteConverter", (sbyte)-121, "-121", options);
+ GenericConverterTestHelper<float>("SingleConverter", 14.5f, "14.5", options);
+ GenericConverterTestHelper<string>("StringConverter", "Hello", "\"Hello\"", options);
+ GenericConverterTestHelper<ushort>("UInt16Converter", (ushort)1206, "1206", options);
+ GenericConverterTestHelper<uint>("UInt32Converter", (uint)3333, "3333", options);
+ GenericConverterTestHelper<ulong>("UInt64Converter", (ulong)44444, "44444", options);
+ GenericConverterTestHelper<decimal>("DecimalConverter", 3.3m, "3.3", options);
+ GenericConverterTestHelper<byte[]>("ByteArrayConverter", new byte[] { 1, 2, 3, 4 }, "\"AQIDBA==\"", options);
+ GenericConverterTestHelper<DateTime>("DateTimeConverter", new DateTime(2018, 12, 3), "\"2018-12-03T00:00:00\"", options);
+ GenericConverterTestHelper<DateTimeOffset>("DateTimeOffsetConverter", new DateTimeOffset(new DateTime(2018, 12, 3, 00, 00, 00, DateTimeKind.Utc)), "\"2018-12-03T00:00:00+00:00\"", options);
Guid testGuid = new Guid();
- GenericConverterTestHelper<Guid>("JsonConverterGuid", testGuid, $"\"{testGuid.ToString()}\"", options);
- GenericConverterTestHelper<KeyValuePair<string, string>>("JsonKeyValuePairConverter`2", new KeyValuePair<string, string>("key", "value"), @"{""Key"":""key"",""Value"":""value""}", options);
- GenericConverterTestHelper<Uri>("JsonConverterUri", new Uri("http://test.com"), "\"http://test.com\"", options);
+ GenericConverterTestHelper<Guid>("GuidConverter", testGuid, $"\"{testGuid.ToString()}\"", options);
+ GenericConverterTestHelper<KeyValuePair<string, string>>("KeyValuePairConverter`2", new KeyValuePair<string, string>("key", "value"), @"{""Key"":""key"",""Value"":""value""}", options);
+ GenericConverterTestHelper<Uri>("UriConverter", new Uri("http://test.com"), "\"http://test.com\"", options);
}