Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
Имеется коллекция элементов List<Type>, необходимо пробежаться по всем элементам коллекции и вызвать статический метод определенный в каждом типе. Задача сводится к тому, чтобы получить тип из переменной типа Type. Подскажите как это сделать? Смотрел на msdn, там показано как добраться до метода объекта, а как вызвать статический метод нигде не описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 20:14 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
xpoft2010, дайте больше информации. у вас так понимаю некое уникальное не типизированное хранилище, в который входят некие классы со своими методами и свойствами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 20:44 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
xpoft2010, только что был на форумах silverlight.net, читая один из тредов пришла идея. почему бы не заменить List<Type> на List<Object> тогда с помощью рефлектора можно будет вытащить тип класса объекта и кастовать в нужный класс (а там уже делать все что необходимо) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 21:08 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 21:34 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
что-то типа InvokeMember("MethodName", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, ... для дженерика - http://blogs.microsoft.co.il/blogs/bursteg/archive/2006/11/15/InvokeStaticGenericMethod.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 21:35 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
еще можно так: Код: plaintext 1. 2. 3. в methods складывайте пару (тип, метод_который_надо_запустить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 22:25 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
уТКаxpoft2010, дайте больше информации. у вас так понимаю некое уникальное не типизированное хранилище, в который входят некие классы со своими методами и свойствами? При запуске приложения создается коллекция классов которые имеют в себе статический метод Код: plaintext 1. 2. 3. 4. Затем мне нужно получить данные которые возвращает этот статический метод класса. уТКатолько что был на форумах silverlight.net, читая один из тредов пришла идея. почему бы не заменить List<Type> на List<Object> тогда с помощью рефлектора можно будет вытащить тип класса объекта и кастовать в нужный класс (а там уже делать все что необходимо) ? Я так понимаю в этом случае в коллекцию нужно будет давать ссылку на объект, а создавать его не хотелось бы, это просто ненужно, поэтому и был выбран статический метод для использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 11:17 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
лень логиниться Код: plaintext 1. 2. 3. 4. 5. 6. 7. Перебирать все классы, которых будет довольно много, не эстетично это :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 11:17 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
LRчто-то типа InvokeMember("MethodName", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, ... для дженерика - http://blogs.microsoft.co.il/blogs/bursteg/archive/2006/11/15/InvokeStaticGenericMethod.aspx Сделал как описано в статье, отлично работает, спасибо! :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. получаем коллекцию необходимых элементов, дальше уже дело техники =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 11:36 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
а я б "укомпактил" в одну строку, типа var x = App.SecurityTypes.Select(t => t.InvokeMember("GetSecurityInfoList", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, null, new object[] { }) as List<List<SecurityInfo>>); :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 11:56 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
пока это только запрос. его надо выполнить через .Run(), например (если стоит Rx), или .Sum(a => 0); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 12:01 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
this.listBox2.ItemsSource = (List<SecurityInfo>)returnValue; не совсем понятно. вы все биндите на один и тот же листбокс. у вас там останется только результат самого последнего вызова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 12:05 |
|
||
|
typeof и обратно
|
|||
|---|---|---|---|
|
#18+
опечатка... var x = App.SecurityTypes.Select(t => t.InvokeMember("GetSecurityInfoList", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, null, new object[] { }) as List<List<SecurityInfo>>); кстати, код непонятен Код: plaintext 1. 2. 3. 4. а вот предложение Вестника в чем-то более универсально, например, если методы "разношерстные" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2011, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=21&tid=1442476]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 112ms |

| 0 / 0 |
