[Homework] [OOP June 2015] Delegates and Events
Здравейте :)
Като гледам новото домашно за делегати ми изниква един въпрос: във втора задача се иска с един делегат, съдържащ 2 метода, да се вземат стойностите първо от единия, а после - от другия метод, при различни параметри.
Аз измислих доста дървен начин как това да стане, като първо добавям единия метод в делегата, извикам делегата със съответните параметри, след което добавям втория метод в делегата и отново извиквам делегата с втория комплект параметри, като този път той ми връща резултата от втория метод.
Не мисля, обаче, че това е идеята, и се чудя има ли начин да се вземе резултата от различен от последния метод за даден делегат?
Да, правилно е и да нищо не се случва при изпълнение, щот ти не казваш на програмата ти да случва нищо. Мейн методът ти приключва веднага след стартирането на таймера. Какво искаш да се случи... Пусни един цикъл да печата нещо друго на конзолата и ще видиш разликата...
Ясно, сега разбрах. Вместо цикъл сложих Console.ReadLine(); , който чака инпут и заработи перфектно. Благодаря ти :)
Къде се връща резултата от делегатите. Пробвам да направя втора задача с делегат, а не с Func, но не мога да получа резултата от делегата - т,е от метода който съм извикал.
Това ми е класа InterestCalculator
http://pastebin.com/ipX5nNGL
А това ми е основната програма:
http://pastebin.com/4fz7zc5u
Като резултат получавам следното:
Result: Calculator.CalculatorIntersts
а очаквам да получа резултата от съответния метод. Някой може ли да каже къде бъркам?
Напправих го с Func по примера на pataroka, но според мен би трябвало да има начин да си взема резултата и като изполвам Custom делегат - тоест такъв дето аз съм си направил
Делегатът не връща нищо - той е само указател към метод, който прави нещо.
Не ти е метода проблема, а пропъртито... Какъв тип метод ти е CalculateInterest? В какво записваш стойността, която ти връща? Мисля, че сам можеш да си отговориш на тези въпроси...