[Homework] OOP - Delegates and Events - Problem {2} - Problem 2. Asynchronous Timer - как да накараме класа да приема всякакви функции?
Здравейте, успях да направя задачата. Ето решението:
http://pastebin.com/m3rdPZ0Z
Проблемът е там, че в конструктора на класа задаваме да приема точно определен тип Action - примерно Action<int, string> или Action без параметри. И съответно можем да му зададем само такъв. Има ли начин да го накараме да приема всякакъв метод, без значение какви параметри изисква?
Искам във функцията Action f да мога да присвоя всякакъв метод, без значение колко и какви аргументи приема.
Знам как работят дженерик листовете по принцип, но в случая не рзбирам как да ги приложа. А ламбда изразите са ми като на виетнамски.
Трябва да си направиш някакъв дженерик клас, който да прави това което искаш. С държавния Action не съм много сигурен че може да се получи.
Аз си представям нещата по следния начин.
Един дженерик който ще се държи като държавния Action
Action<R, Params>
R - return type на твоя Action
Params - друг клас който може да приеме един или повече параметъра и ги пази по някакъв начин
В твоя Action трябва да имаш и някакъв метод Execute() например който да свърши работата която трябва да се свърши.