- Recebendo uma classe já instanciada como parâmetro.
- Descobrindo o tipo dela. ClasseInstaciada.GetType();
- Pesquisando se existe o método: tipo.GetMethod("MetodoPublico", new Type[] { typeof(string) });
- Disparando o método: mi.Invoke(ClasseInstaciada, new object[] {"DEU CERTOOOOOOOOOO"});
using System;
using System.Reflection;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
MetodoB(new ClasseSimples());
Console.ReadKey();
}
public static void MetodoB(object ClasseInstaciada)
{
//Como
disparar o Método MTDPublico da classe ClasseSimples????
//Ex:
AA.teste() ??????????????????????
//Pega
o TIPO dela primeiro
Type tipo = ClasseInstaciada.GetType();
//Pesquisa
dentro da classe se existe o Método
MethodInfo mi = tipo.GetMethod("MetodoPublico", new Type[] { typeof(string) });
//Dispara
o método
mi.Invoke(ClasseInstaciada, new object[] {"DEU
CERTOOOOOOOOOO"});
}
}
public class ClasseSimples
{
public void MTDPublico(string MSG)
{
Console.WriteLine(MSG);
}
}
}
Nenhum comentário:
Postar um comentário