using static System.Console;
using System.Collections.Generic;
using System.Linq;
public class Program {
public static void Main() {
var lista = ListarAnonimo();
foreach (var item in lista) {
var pessoa = Util.Cast(item, new { Nome = "", Idade = 0, Salario = 0.0m });
WriteLine($"Nome: {pessoa.Nome} - Idade: {pessoa.Idade} - Salario {pessoa.Salario}");
}
}
public static List<object> ListarAnonimo() {
var lista = new object[] {
new {
Nome = "",
Idade = 0,
Salario = 0.0m
}
}.ToList();
lista.Clear();
lista.Add(new {
Nome = "Gato",
Idade = 25,
Salario = 3000000.0m
});
return lista;
}
}
public static class Util {
public static T Cast<T>(object obj, T type) => (T)obj;
}
//https://pt.stackoverflow.com/q/183594/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKICAgICAgICB2YXIgbGlzdGEgPSBMaXN0YXJBbm9uaW1vKCk7CgkJZm9yZWFjaCAodmFyIGl0ZW0gaW4gbGlzdGEpIHsKCQkJdmFyIHBlc3NvYSA9IFV0aWwuQ2FzdChpdGVtLCBuZXcgeyBOb21lID0gIiIsIElkYWRlID0gMCwgU2FsYXJpbyA9IDAuMG0gfSk7CgkJCVdyaXRlTGluZSgkIk5vbWU6IHtwZXNzb2EuTm9tZX0gLSBJZGFkZToge3Blc3NvYS5JZGFkZX0gLSBTYWxhcmlvIHtwZXNzb2EuU2FsYXJpb30iKTsKCQl9CiAgICB9CglwdWJsaWMgc3RhdGljIExpc3Q8b2JqZWN0PiBMaXN0YXJBbm9uaW1vKCkgewoJCXZhciBsaXN0YSA9IG5ldyBvYmplY3RbXSB7CgkJCW5ldyB7CgkJCQlOb21lID0gIiIsCgkJCQlJZGFkZSA9IDAsCgkJCQlTYWxhcmlvID0gMC4wbQoJCQl9CgkJfS5Ub0xpc3QoKTsKCQlsaXN0YS5DbGVhcigpOwoJCWxpc3RhLkFkZChuZXcgewoJCQlOb21lID0gIkdhdG8iLAoJCQlJZGFkZSA9IDI1LAoJCQlTYWxhcmlvID0gMzAwMDAwMC4wbQoJCX0pOwoJCXJldHVybiBsaXN0YTsKICAgIH0KfQoKcHVibGljIHN0YXRpYyBjbGFzcyBVdGlsIHsKICAgIHB1YmxpYyBzdGF0aWMgVCBDYXN0PFQ+KG9iamVjdCBvYmosIFQgdHlwZSkgPT4gKFQpb2JqOwp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS8xODM1OTQvMTAx