Такой вопрос, для чего в объявлении делегата в данном примере нужны дженерик параметры <Т1, Т2> если их нет в конъюнктуре метода на который ссылается делегат, то есть все входные и выходные параметры определены конкретным типом данных, что определяют Т1 и Т2? (без них ошибка). Делегат TryGet ссылается на метод AskUser. Код с портала Ulearn.
namespace ConsoleApplication14
{
delegate bool TryGet <T1, T2> (string question, Action<string> action, out int age);
class Program
{
public static void Main()
{
Run(AskUser, Console.WriteLine);
}
static void Run(TryGet <string, int> askUser, Action<string> tellUser)
{
int age;
if (askUser("What is your age?", tellUser, out age))
tellUser("Age: " + age);
}
static bool AskUser(string questionText, Action<string> tellUser, out int age)
{ // метод на который ссылается делегат TryGet
tellUser(questionText);
var answer = Console.ReadLine();
return int.TryParse(answer, out age);
}
}
}
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Например, FileSystemWatcher ловит какое-то изменение в отслеживаемой директории