public static void Main()
Person p = new Person {Id = 1, Name = "User1"};
var myoptional = new Wrapper<Person>(p);
Console.WriteLine(myoptional.ToString());
Person p1 = new Person();
myoptional = new Wrapper<Person>(p1);
Console.WriteLine(myoptional.ToString());
myoptional = new Wrapper<Person>(p2);
Console.WriteLine(myoptional.ToString());
public class Wrapper<T> where T: class {
public override string ToString(){
var mycustomstruct = new {Wrapper = mydata};
return System.Text.Json.JsonSerializer.Serialize(mycustomstruct);
public string Name {get;set;} = string.Empty;