Рефлексия - как достать метод с генериками?
В общем в рамках проекта мне нужно сохранять методы в строки.
Для этого что я делаю:
- подаю MethodInfo
- оттуда извлекаю AssemblyQualifiedName у типа-родителя
- так же извлекаю это же поле у типов-параметров
- и еще сохраняю название метода
Соответственно как достаю:
- Юзаю Type.GetType и узнать класс-родитель
- Юзаю это же самое чтобы узнать типы для параметров
- Юзаю GetMethod() где указываю типы параметров и достаю конкретный метод.
Но тут есть одна проблема
когда я встречаю методы имеющие дженерики, то я через Type.GetType у меня нифига не выходит достать такой тип - ибо дженерик локален для метода. Соответственно я не могу достать и сам метод с дженериками.
Вот и думаю - как решить эту проблему?
Есть вот какой вариант:
- извлекать все методы с указанным мной именем.
- далее сранивать строки в параметрах с сохраненными строками
- тем самым вычислить нужный мне метод
Что кто думает - правильно ли так делать?
Ответ
Смотрите также:
Комментарии
Extravert, так и не понял из того примера, как ты решил проблему
Все понял, просто перебрал доступные методы... хмм, весьма странный подход
alexprey, легче увы не нашел. Есть еще вариант вручную формировать строку-Assembly для типа, но боюсь так я что-то забуду. Спасает что кеширую, а не реал тайм вызываю.
Возможность добавлять комментарии была ограничена
CollectableItemData.cs
[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]