Вызов общедоступных методов, используя их имена в 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 объекта для вызова метода. Второй параметр для этого вызова - это массив параметров, который должен быть отправлен вызову метода.