I have the following class:
public class Pessoa
{
public int id { get; set; }
public string Nome { get; set; }
public DateTime DataNascimento { get; set; }
}
I've developed a method to get the properties of it, but I can not use it the way I want:
public static class Entities<TEntidade> where TEntidade : class
{
/* Assim da certo mas não quero passar por parametro */
public static PropertyInfo[] GetPropertiesComoNaoQuero(TEntidade e)
{
var entity = Activator.CreateInstance(e.GetType()) as TEntidade;
PropertyInfo[] properties = entity.GetType().GetProperties();
return properties;
}
public static PropertyInfo[] GetPropertiesComoEUQuero()
{
/*
* Existe alguma forma de criar essa instancia sem passar por *parametro? so sabendo que o
* tipo generico meu é do tipo pessoa na chamada ?
*/
var entity = Activator.CreateInstance() as TEntidade;
PropertyInfo[] properties = entity.GetType().GetProperties();
return properties;
}
}
public class Teste
{
PropertyInfo[] properties = Entities<Pessoa>.GetPropertiesComoEUQuero();
Pessoa pessa = new Pessoa();
PropertyInfo[] propertiesb = Entities<Pessoa>.GetPropertiesComoNaoQuero(pessa);
}