using System.Collections.Generic;
using System.Threading.Tasks;
public async static Task Main()
var request = new Test{Prop = new SortedSet<TestClass2>()};
request.Prop.Add(new TestClass2{Id = Guid.NewGuid()});
request.Prop.Add(new TestClass2{Id = Guid.NewGuid()});
var serializedRequest = JsonSerializer.Serialize(request);
Console.WriteLine(serializedRequest);
using var stream = GenerateStreamFromString(serializedRequest);
var result = await JsonSerializer.DeserializeAsync<Test>(stream);
Console.WriteLine(JsonSerializer.Serialize(result));
public static Stream GenerateStreamFromString(string s)
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
public SortedSet<TestClass2> Prop
public class TestClass2 : IComparable
public int CompareTo(object obj)
null => 1, TestClass2 otherTemperature => Id.CompareTo(otherTemperature.Id), _ => throw new ArgumentException("Not a QueueTaskStateHistory object", nameof(obj))}