using System;
using System.Reflection;
public class Program {
public static void Main(string[] args) {
var pessoa = new Pessoa { id = 1, Nome = "Nicola Bogar Uccio", DataNascimento = new DateTime(1988, 08, 24) };
PropertyInfo[] properties = Entities<Pessoa>.GetPropertiesComoEUQuero();
}
}
public class Pessoa {
public int id { get; set; }
public string Nome { get; set; }
public DateTime DataNascimento { get; set; }
}
public static class Entities<TEntidade> where TEntidade : class {
public static PropertyInfo[] GetPropertiesComoEUQuero() {
var entity = Activator.CreateInstance(typeof(TEntidade)) as TEntidade;
PropertyInfo[] properties = entity.GetType().GetProperties();
return properties;
}
}
//https://pt.stackoverflow.com/q/203917/101
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKCnB1YmxpYyBjbGFzcyBQcm9ncmFtIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpIHsKCQl2YXIgcGVzc29hID0gbmV3IFBlc3NvYSB7IGlkID0gMSwgTm9tZSA9ICJOaWNvbGEgQm9nYXIgVWNjaW8iLCBEYXRhTmFzY2ltZW50byA9IG5ldyBEYXRlVGltZSgxOTg4LCAwOCwgMjQpIH07CgkJUHJvcGVydHlJbmZvW10gcHJvcGVydGllcyA9IEVudGl0aWVzPFBlc3NvYT4uR2V0UHJvcGVydGllc0NvbW9FVVF1ZXJvKCk7CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBQZXNzb2EgewogICAgcHVibGljIGludCBpZCB7IGdldDsgc2V0OyB9CiAgICBwdWJsaWMgc3RyaW5nIE5vbWUgeyBnZXQ7IHNldDsgfQogICAgcHVibGljIERhdGVUaW1lIERhdGFOYXNjaW1lbnRvIHsgZ2V0OyBzZXQ7IH0KfQoKcHVibGljIHN0YXRpYyBjbGFzcyBFbnRpdGllczxURW50aWRhZGU+IHdoZXJlIFRFbnRpZGFkZSA6IGNsYXNzIHsKICAgIHB1YmxpYyBzdGF0aWMgUHJvcGVydHlJbmZvW10gR2V0UHJvcGVydGllc0NvbW9FVVF1ZXJvKCkgeyAgICAgICAgIAogICAgICAgIHZhciBlbnRpdHkgPSBBY3RpdmF0b3IuQ3JlYXRlSW5zdGFuY2UodHlwZW9mKFRFbnRpZGFkZSkpIGFzIFRFbnRpZGFkZTsKICAgICAgICBQcm9wZXJ0eUluZm9bXSBwcm9wZXJ0aWVzID0gZW50aXR5LkdldFR5cGUoKS5HZXRQcm9wZXJ0aWVzKCk7CiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7CiAgICB9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzIwMzkxNy8xMDE=