powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перебрать все методы рефлекшном
13 сообщений из 13, страница 1 из 1
Перебрать все методы рефлекшном
    #38243536
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще задача стоит такая.
Написать консольное апп на .NET4CP, которое будет подгружать длл, искать override методы, и сравнивать аттрибуты этих методов и их предков.
Эта утилитка будет всунута в билд-скрипт, дабы заранее уведомить о проблемах типа этой:
http://stackoverflow.com/questions/14124874/how-do-i-implement-exception-getobjectdata-in-net-4-in-a-library-assembly-that

Вопрос в том, что мне не сильно хочется городить пачку вложенных форичей, может есть методика обхода покрасивее ?
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243548
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пачка - это сколько циклов - 30, 100, 500?
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243565
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualВопрос в том, что мне не сильно хочется городить пачку вложенных форичей, может есть методика обхода покрасивее?Рекурсия?
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243566
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет конечно, думаю со всякими ифами может будет 5-7.
Не проблема так написать, хотя основная функция будет выглядеть как этот значок >.
Просто думаю может я чего не знаю, и есть хотя бы красивые обертки и синтаксический сахар :)
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243578
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual, выложи код со своими 7 циклами, а мы подумаем, как можно это дело соптимизировать. А так получается гадание на кофейной гуще.
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243581
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кода еще никакого нет :) Я решил заранее спросить, может есть что удобное.
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38243590
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не кода, откуда взялись 7 циклов? Лично я пока вижу только один цикл - рекурсию.

P.S. Пиши код и не насилуй сознание форумчан :)
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247114
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрался до этой задачи.
Сначала вот встал вопрос, как правильно приостановить рекурсивное движение по классам.
Проще говоря:
class A : B
если я рекурсией добрался до того, что А это уже класс .NET'a а не мой самописный, мне надо выйти из функции.
Как это проверить ?
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247118
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualесли я рекурсией добрался до того, что А это уже класс .NET'a а не мой самописный, мне надо выйти из функции.
Как это проверить ?
Выбирай:
- проверить что полное имя класса начинается с System
- проверить что сборка которая содержит класс А использует PublicKeyToken от MS
- вести список своих сборок и если тип определен не в них, то останавливать работу функции
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247119
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3ий точно не подходит, сборка (путь) передается параметром в этой консольное апп.
System это наверно относительно топорно, но конечно у нас никто в здравом уме не будет использовать для себя такие неймспейсы.
А по-поводу п.2 и PublicKeyToken, можно какую-нить ссылку ?
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247134
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может проще у типа проверять Type.Assembly, и если не "моя", то считать ее от MS ?
Я ж не использую никаких 3rd party здесь.
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247141
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tualМожет проще у типа проверять Type.Assembly, и если не "моя", то считать ее от MS ?
Это п.3 из моего списка, который тебя 10 минут назад не устраивал.

tualпо поводу п.2 и PublicKeyToken, можно какую-нить ссылку ?
Assembly.GetName().GetPublicKeyToken(). PublicKeyToken можно в GAC найти.
...
Рейтинг: 0 / 0
Перебрать все методы рефлекшном
    #38247143
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит я п.3 немного не так для себя сформулировал :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перебрать все методы рефлекшном
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]