Vamos lá.
A primeira cousa a se fazer é criar um projeto em File -> New -> Project, lá vão ter algumas opções, escolha Console Application.
Proxímo passo é fazer o using do Reflecton. Logo no inicio do .CS faça o using System.Reflection;.
Agora, para exemplificar, vamos criar uma classe chamada Funcionario, veja como abaixo:
class Funcionario
{
public Funcionario(int codigo, string nome)
{
Codigo = codigo;
Nome = nome;
}
public int Codigo { get; set; }
public string Nome { get; set; }
public event EventHandler PegarValor;
}
Feito isso, já posso passar para a utilização propriamente dito do reflection. O primeiro passo é criar o objeto Funcionario passando os valores para seu construtor.
Funcionario FUNC = new Funcionario(123, "Elias Medeiros");
Agora, vamos atribuir os tipos referente ao objeto Funcionario para uma variavel do tipo Type. Com isso, vamos conseguir retorna qualquer tipo que o objeto possua.
Type Tipos = FUNC.GetType();
Vamos agora percorrer os tipos do objeto Funcionario.
1º - Propriedades: Reparem que estou criando uma variavel (PI) do tipo PropertyInfo para retornar as propriedades do objeto Funcionario. Para isso eu passo a variavel Tipos.GetProperties()...
foreach (PropertyInfo PI in Tipos.GetProperties())
{
Console.WriteLine(string.Format("Propriedade: {0} - Valor: {1}", PI.Name, PI.GetValue(FUNC, null)));
}
2º - Construtores e parametros: Neste caso, vamos criar um variavel (CI) do tipo ConstructorInfo. Para isso eu passo a variavel Tipos.GetConstructors().... Da mesmo forma, para pegar seus paametros, sendo que a variável será do tipo ParameterInfo. Para isso eu passo a variavel CI.GetParameters()....
foreach (ConstructorInfo CI in Tipos.GetConstructors())
{
Console.WriteLine(string.Format("Construtor: {0}", CI.Name));
foreach (ParameterInfo PI in CI.GetParameters())
{
Console.WriteLine(string.Format(" Parametros: {0}", PI.Name));
}
}
3º - Eventos: Para o caso de eventos, segui o mesmo princípio. Sendo que a variável será do tipo EventInfo. Para isso eu passo a variável Tipos.GetEvents()....
foreach (EventInfo EI in Tipos.GetEvents())
{
Console.WriteLine(string.Format("Eventos: {0}", EI.Name));
}
Então pessoal, esse foi um pequeno exemplo de Reflection. Espero que ajude...
Att,
Quer aprender Delphi for PHP?
Caros amigos delphianos, estão com dificuldades em encontrar um bom material sobre Delphi for PHP? Visite a Comunidade Delphi so PHP e veja algumas notícias sobre as novas tendências desta ferramenta. Lá você vai encontrar dicas, downloads, artigos, videos e muito mais sobre o Delphi for PHP. Para se cadastrar é muito simples, rápido e seguro. Clique aqui e seja o mais novo membro da Comunidade Delphi so PHP e bons estudos.
No mais até a próxima.
No mais até a próxima.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário