Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kauebranco

Listar propriedades declaradas C#

Recommended Posts

Boa tarde, Preciso achar propriedades que foram declaradas tendo somente o nome dela. Do mesmo jeito que é possível fazer um Loop por todos os controles de uma página , só que preciso fazer isso com propriedades.Se alguem puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Propriedades de um objeto? Você pode usar Reflection. Supondo que sua classe se chama "Teste" você poderia fazer algo assim:

 

using System.Reflection;...PropertyInfo[] propriedades = new Teste().GetType().GetProperties();foreach (PropertyInfo propriedade in propriedades){	MessageBox.Show(propriedade.Name);}

No lugar de "new Teste().GetType()" você também poderia usar Type.GetType("classe").

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaa .. muito obrigadooocom esse código também é possível pegar o valor da propriedade e atribuir valor a ela ???Vlwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaa .. muito obrigadooocom esse código também é possível pegar o valor da propriedade e atribuir valor a ela ???

Sim, usando os métodos GetValue() e SetValue() do objeto "propriedade".Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado de novoomais foi por isso mesmo que perguntei sobre isso ..conheço esses métodos .. mais eles pedem uns parâmetros que naum consegui usarrrse você souber como usar ..flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só ler o que está naqueles balõezinhos amarelos que aparecem durante a digitação do método. Aparece uma descrição para cada parâmetro, a qual indica o que devemos passar. Exemplo de como definir a propriedade Nome de um objeto do tipo Teste:

 

Teste obj = new Teste();PropertyInfo[] propriedades = obj.GetType().GetProperties();foreach (PropertyInfo propriedade in propriedades){	if (propriedade.Name == "Nome")	{		propriedade.SetValue(obj, "Kaue", null);	}}MessageBox.Show(obj.Nome);

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.