1
resposta

Executar método através de reflection

Quero excluir

1 resposta

Olá, Daniel! Como vai?

Peço desculpas pela demora no retorno a sua mensagem.

Vou estar compartilhando um exemplo onde a classe MyClass possui um método Excluir() que imprime uma mensagem na saída. Usando reflection.

using System;
using System.Reflection;

public class MyClass
{
    public void Excluir()
    {
        Console.WriteLine("Método Excluir foi executado!");
    }
}

public class Program
{
    public static void Main()
    {
        // Criando uma instância da classe MyClass
        var myObject = new MyClass();
        
        // Obtendo o tipo da classe
        Type type = typeof(MyClass);
        
        // Obtendo o método "Excluir"
        MethodInfo method = type.GetMethod("Excluir");
        
        // Verificando se o método foi encontrado
        if (method != null)
        {
            // Executando o método na instância do objeto
            method.Invoke(myObject, null);
        }
        else
        {
            Console.WriteLine("Método não encontrado!");
        }
    }
}

Com isso, verificamos se o método foi encontrado e, se for o caso, o invocamos na instância do objeto usando o método Invoke(). É importante ressaltar que o método Invoke() retorna um objeto object contendo o valor de retorno do método, se houver algum.

Lembre-se de que a reflexão deve ser usada com cuidado, pois o uso excessivo pode prejudicar a legibilidade e o desempenho do código.

Espero ter ajudado e bons estudos!