Как добавить метод в делегат используя рефлексию? Мне надо создать лист объектов для визуализации, для этих целей я создал делегат public delegate void DrawObjects();
public static DrawObjects DrawList;
Как к этому делегату добавлять методы с использованием рефлексии(вот так):DrawList += _GameObject.GetType().GetMethod("DrawCode")...

21 Авг 2019 в 06:59
219 +1
1
Ответы
1

Для добавления метода к делегату с использованием рефлексии, вам нужно сначала получить метод по его имени с помощью метода GetMethod():

MethodInfo method = _GameObject.GetType().GetMethod("DrawCode");

Затем вы можете создать делегат используя метод CreateDelegate() и передать его в делегат DrawList:

DrawObjects drawMethod = (DrawObjects)Delegate.CreateDelegate(typeof(DrawObjects), _GameObject, method);
DrawList += drawMethod;

Теперь метод DrawCode вашего объекта _GameObject будет добавлен к делегату DrawList и вы сможете вызвать его позднее для визуализации объектов.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир