Может ли входящим параметром метода быть другой метод?
Можно ли, что бы во входящих параметрах метода, был другой метод? Т.е. из параметров вызывается другой метод, отрабатывает и возвращает значение, у же в данный метод?
Если можно, то тогда, получается должен стоять тип возвращаемого значения, в параметрах, перед другим методом.
Ответы (1 шт):
Автор решения: Aarnihauta
→ Ссылка
Можно. Это называется delegate. Их можно передавать в другие методы. Можете сами их декларировать, но обычно хватает Action и Func.
Вот пример:
private void Method(Func<string> action) //вместо string может быть что угодно
{
string result = action?.Invoke();
Console.WriteLine(result);
}
Как использовать:
static void Main(string[] args)
{
Method(() =>
{
return "C# > Java";
}); //В консоль выведется "C# > Java"
}