<< Click to Display Table of Contents >> Descobrir as propriedades de um objeto |
![]() ![]() ![]() |
class Pessoa
{
public int Idade;
public string Nome;
public Pessoa()
{
}
}
class Program
{
static void Main(string[] args)
{
//criamos uma instancia do objeto
Pessoa pessoa = new Pessoa();
Type srcType = pessoa.GetType();
// recupera a lista de propriedades
PropertyInfo[] props = srcType.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
//recupera uma lista de campos. variáveis declaradas como públicas
FieldInfo[] vars = srcType.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
//percorre as variáveis
foreach (PropertyInfo p in props)
{
if (p.CanRead == true)//permite leitura, para saber se permite gravação use p.CanWrite
Console.WriteLine(p.Name);
}
// as linhas aqui são iguais as de cima, basicamente só muda o tipo :)
foreach (FieldInfo f in vars)
{
if (f.IsPublic == true)
Console.WriteLine(f.Name);
}
Console.ReadKey();
}
}
Saída
Idade
Nome