Применить действие ко всем методам в классе

152
06 февраля 2018, 06:45

Допустим, существует файл Keyboard.cs, в котором содержатся методы выполняющие нажатия (keypress, keydown и тд), нужно создать функцию, которая в качестве параметра принимала бы мой код, и вставляла бы его между BlockInput(true) и BlockInput(false).

Например, я вызываю функцию:

SomeClass.Send(Keyboard.KeyPress(VK_RETURN));

Должен вызываться метод Send, который будет выполнять код:

BlockInput(true);
Keyboard.KeyPress(VK_RETURN); (функция которую я отправил в качестве аргумента)
BlockInput(false);

Это возможно? Если да, то можно примеры? Если нет, то как сделать что-то похожее?

Answer 1

Ну например:

public void Send(Action a)
{
    BlockInput(true);
    a();
    BlockInput(false);
}

и вызывать так:

SomeClass.Send(() => Keyboard.KeyPress(VK_RETURN));
READ ALSO
Не загружаются картинки в программу

Не загружаются картинки в программу

Не работает метод openImageWithFolderButton_Click, должен взять путь выбранной картинки, достать оттуда все картинки с нужным расширением, заполнить ими...

157
IOrderedEnumerable<T> vs. SortedSet<T>: что быстрее сериализуется?

IOrderedEnumerable<T> vs. SortedSet<T>: что быстрее сериализуется?

Сделал замер, чтобы выяснить создание и итерация какой коллекции быстрее IOrderedEnumerable<T> или SortedSet<T>

219
Программа не считает точно на C# [требует правки]

Программа не считает точно на C# [требует правки]

Доброго времени суток, не могу решить проблему программа выдаёт не правильный результат, я начинающий программист на C#, пожалуйста помогите,...

202
Generic repository в WCF

Generic repository в WCF

Имеется dll, в которой есть сущности и класс для работы с бд (используется рефлексия)Например, у меня обращение в клиенте DataManager

170