Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
32 / 12 / 5
Регистрация: 02.04.2022
Сообщений: 331
.NET 6

Определить содержит ли делегат определенную команду

03.10.2022, 21:11. Показов 805. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я инициализирую делегат Action
C#
1
2
3
4
5
Action<int, int> deltask = (int x, int y) =>
{
    Console.WriteLine("New cursor pos");
    Console.SetCursorPosition(x, y);
}
мне нужно проверить содержит ли этот делегат команду "SetCursorPosition"
ПАМАГИТИ ПАЖАЛУСТА
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.10.2022, 21:11
Ответы с готовыми решениями:

Как узнать имена всех методов которые содержит делегат при групповой адресации
Подскажите как узнать имена всех методов которые содержит делегат при групповой адресации если есть объект класса, делегат, и три...

Создать скрипт выполняющий определенную команду в заданной директории
Здравствуйте, мне нужен скрипт который бы при запуске выполнял следующие действия переходит к директории...

Как запустить определённую команду в Exchange Management Shell?
Всем привет! Ребят подскажите пожалуйста. Мне нужен скрипт, который вызывает на сервере Exchange Management Shell и там выполняет...

9
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,564
03.10.2022, 21:17
Цитата Сообщение от Timchik230 Посмотреть сообщение
мне нужно проверить содержит ли этот делегат команду "SetCursorPosition"
Как вы себе это представляете?

Не по теме:

И перестаньте писать это в каждой теме. 1-2 раза было и хватит. Потом раздражать начинает.

Цитата Сообщение от Timchik230 Посмотреть сообщение
ПАМАГИТИ ПАЖАЛУСТА

0
32 / 12 / 5
Регистрация: 02.04.2022
Сообщений: 331
03.10.2022, 21:48  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
И перестаньте писать это в каждой теме. 1-2 раза было и хватит. Потом раздражать начинает.
Извиняюсь, уже сам понял

Цитата Сообщение от John Prick Посмотреть сообщение
Как вы себе это представляете?
ну может, можно получить массив из объектов MethodInfo которые содержит делегат и дальше искать через Linq по свойству Name
рефлексия это мощная штука, как я наблюдаю последнее время
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
04.10.2022, 01:28
Цитата Сообщение от Timchik230 Посмотреть сообщение
можно получить массив из объектов MethodInfo которые содержит делегат и дальше искать через Linq по свойству Name
Вы создаёте лямбду - анонимный метод.
Понять к каким методам происходит обращение в теле созданного вами метода рефлексия не поможет.
Здесь нужна декомпиляция и то нет гарантий, что удастся узнать все детали.
0
32 / 12 / 5
Регистрация: 02.04.2022
Сообщений: 331
08.10.2022, 18:44  [ТС]
Элд Хасп, Дак значит можно?
просто нужно по другому задать делегат?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
08.10.2022, 19:18
Цитата Сообщение от Timchik230 Посмотреть сообщение
Дак значит можно?
Можно, но уровень сложности реализации будет очень высокий.
Декомпиляция и анализ декомпилированного это "не хухры-мухры".

Цитата Сообщение от Timchik230 Посмотреть сообщение
просто нужно по другому задать делегат?
Делегат - это просто ссылка на метод.
А вам нужна декомпиляция тела метода.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
08.10.2022, 20:43
Timchik230, вы лучше объясните какую задачу в целом вы хотите решить таким образом.
Скорее всего, есть другие способы реализации этой задачи.
0
32 / 12 / 5
Регистрация: 02.04.2022
Сообщений: 331
09.10.2022, 10:06  [ТС]
Элд Хасп, У меня в библиотеке есть класс реализующий интерфейс для консоли
Code
1
2
[ OK ] Mounting ESP
[ / ] Reading Bytes
этот интерфейс реализутся командами
C#
1
2
3
4
5
TaskCheck.Start("TaskName"); //начало
    //Some task
TaskCheck.Stop(); //конец
TaskCheck.Error(); //конец с критической ошибкой
TaskCheck.Warning(); //конец с некритической ошибкой
также есть метод с делегатом
C#
1
2
3
4
TaskCheck.Run("TaskName", (TC) =>
{
    //SomeTask
}
этот делегат в любом случае должен иметь конец
я должен проверять наличие представленных концов
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
09.10.2022, 10:32
Цитата Сообщение от Timchik230 Посмотреть сообщение
я должен проверять наличие представленных концов
Чё-то звучит как-то совсем не очень.
Вы же на Шарпе работаете, а не на ассемблере.
Шарп - это ООП. Вызвали метод - а что и как он там реализует, никого волновать не должно.
Если вам нужно деинкапсулировать логику метода- значит вы точно что-то не так делаете.
0
32 / 12 / 5
Регистрация: 02.04.2022
Сообщений: 331
09.10.2022, 10:46  [ТС]
C#
1
2
3
4
5
6
7
8
        public void Run(string WorkText, Action TaskAction)
        {
            if (TaskAction == null)
                throw new ArgumentNullException(nameof(TaskAction));
 
            Start(WorkText);
            TaskAction();
        }
Добавлено через 27 секунд
???

Добавлено через 2 минуты
Элд Хасп
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2022, 10:46
Помогаю со студенческими работами здесь

Запустить определённую команду, которая есть в контекстном меню Проводника
У меня в контекстном меню проводника , после установки одной программы , появился пункт ' Конвертировать в Fb2 ' Может ли батник...

Как выполнить определенную часть программы, введя одну команду?
Могу ли я, прописав отрывок кода например в начале программы, позже выполнить его при надобности, вызвав его одной командой?

Содержит ли строка определенную подстроку
Помогите решить задачу. Требуется проверить, содержит ли строка определенную подстроку, она может располагаться через другие символы,...

Описать класс с функцией. Объявить делегат. Произвести вызов функции через делегат
Описать функцию Exchange(X, Y), меняющую значения переменных X и Y.

Переделать программу. Тектовый файл содержит определенную информацию, надо вывести только
Текстовый файл содержит сведения об учениках 9-го класса, сдававших переводные экзамены по пяти предметам: фамилия, затем название...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru