Comments 7
я может не особо опнимаю, но что мешает нам сделать Delegate.CreateDelegate(typeof(MethodDelegate), mi)
и потом пользоваться результатом?
и потом пользоваться результатом?
В данном случае — то, что мы не знаем типы аргументов и возвращаемого значения, и делегат у нас — сферический в вакууме. Но такая ситуация слегка надуманная, да.
Ваш вариант тоже вариант, но…
Во-первых: делегат тогда должен иметь параметры тех типов, которые могут быть неизвестны.
Во-вторых: делегат можно создать только для конкретного экземляра
Во-первых: делегат тогда должен иметь параметры тех типов, которые могут быть неизвестны.
Во-вторых: делегат можно создать только для конкретного экземляра
А как потом работать с типами, которые неизвестны? Создать экземпляр для передачи в параметрах там, или что-то получить из возвращенного значения?
Весь код через динамические методы переписывать? А кто это потом не поленится поддерживать? :)
Весь код через динамические методы переписывать? А кто это потом не поленится поддерживать? :)
Sign up to leave a comment.
Быстрый Reflection через DynamicMethod