using System.Collections.Generic;
using System.Linq.Expressions;
public static void Main()
object item = new Teste();
Console.WriteLine("Hello World");
var firstItem = ((IEnumerable<object>)item.GetType().GetProperties().First().GetValue(item)).First();
var listType = typeof(List<>).MakeGenericType(firstItem.GetType());
var lista = (IEnumerable<object>)Activator.CreateInstance(listType);
listType.GetMethod("Add").Invoke(lista, new []{ firstItem });
item.GetType().GetProperties().First().SetValue(item, lista);
public ICollection<Teste2> t2 { get; set; } = new List<Teste2>() { new() };
public int t3 { get; set; } = 0;