Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpRfIv 270 of 509 menu
◀ ▶

Вызов метода через рефлексию в C#

Динамический вызов медленнее прямого и лишён проверки типов на этапе компиляции. Неверное число аргументов или их тип приведёт к исключению во время выполнения. Если исключение возникнет уже внутри метода, снаружи оно придёт как TargetInvocationException, а исходная ошибка лежит в InnerException.

Такой вызов уместен, когда имя метода приходит из конфигурации или плагина.

Удвоим число через рефлексию. Печатают результат вызова Twice(4):

using System.Reflection; var obj = new MathBox(); var method = typeof(MathBox).GetMethod("Twice")!; object? result = method.Invoke(obj, new object[] { 4 }); Console.WriteLine(result); class MathBox { public int Twice(int x) => x * 2; }

У объекта Gauge есть публичный метод, который прибавляет 3 к переданному числу. Вызовите этот метод динамически для числа 6 и выведите результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить