Вызов общедоступных методов, используя их имена в C#

Вы можете использовать отражение для вызова общедоступных методов, используя их имена. Следующий код показывает, как работает программа примера.

// Вызовите метод.
private void btnInvoke_Click(object sender, EventArgs e)
{
    try
    {
        Type this_type = this.GetType();
        MethodInfo method_info =
            this_type.GetMethod(txtMethodName.Text);
        method_info.Invoke(this, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

В коде используется GetType, чтобы получить информацию о типе класса. Затем он вызывает GetMethod, передавая ему имя метода, чтобы получить объект MethodInfo, описывающий метод.

Затем он вызывает метод Invoke объекта для вызова метода. Второй параметр для этого вызова - это массив параметров, который должен быть отправлен вызову метода.

Источник: http://csharphelper.com/blog/2014/09/invoke-public-methods-by-using-their-names-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector