В общем в рамках проекта мне нужно сохранять методы в строки.
Для этого что я делаю:
- подаю MethodInfo
- оттуда извлекаю AssemblyQualifiedName у типа-родителя
- так же извлекаю это же поле у типов-параметров
- и еще сохраняю название метода
Соответственно как достаю:
- Юзаю Type.GetType и узнать класс-родитель
- Юзаю это же самое чтобы узнать типы для параметров
- Юзаю GetMethod() где указываю типы параметров и достаю конкретный метод.
Но тут есть одна проблема
когда я встречаю методы имеющие дженерики, то я через Type.GetType у меня нифига не выходит достать такой тип - ибо дженерик локален для метода. Соответственно я не могу достать и сам метод с дженериками.
когда я встречаю методы имеющие дженерики, то я через Type.GetType у меня нифига не выходит достать такой тип - ибо дженерик локален для метода. Соответственно я не могу достать и сам метод с дженериками.
Вот и думаю - как решить эту проблему?
Есть вот какой вариант:
- извлекать все методы с указанным мной именем.
- далее сранивать строки в параметрах с сохраненными строками
- тем самым вычислить нужный мне метод
Что кто думает - правильно ли так делать?
Принятый ответ
собственно сделал таки
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
Показать
Devion
11 лет
0
Показать
собственно сделал таки
https://xgm.guru/p/unity/serialization-reflection
Принятый ответ
0
Показать
alexprey
11 лет
0
Показать
Extravert, так и не понял из того примера, как ты решил проблему
Все понял, просто перебрал доступные методы... хмм, весьма странный подход
0
Показать
Devion
11 лет
0
Показать
alexprey, легче увы не нашел. Есть еще вариант вручную формировать строку-Assembly для типа, но боюсь так я что-то забуду. Спасает что кеширую, а не реал тайм вызываю.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.