Perché non è possibile effettuare le seguenti operazioni:Uso dei parametri opzionali e denominati con l'azione e Func delegati
Func<int, int, int> sum = delegate(int x, int y = 20) { return x + y; };
Action<string, DateTime> print =
delegate(string message, DateTime datetime = DateTime.Now)
{
Console.WriteLine(message);
};
sum(x: 20, y: 40);
print(datetime: DateTime.Now, message: "Hello");
caso con parametri solo di nome:
Func<int, int, int> sum = delegate(int x, int y) { return x + y; };
Action<string, DateTime> print =
delegate(string message, DateTime datetime)
{
Console.WriteLine("{0} {1}", message, datetime);
};
Console.WriteLine(sum(y: 20, x: 40));
print(datetime: DateTime.Now, message: "Hello");
caso con solo i parametri opzionali:
Func<int, int, int> sum = delegate(int x, int y = 20) { return x + y; };
Action<string , DateTime> print =
delegate(string message, DateTime datetime = DateTime.Now)
{
Console.WriteLine("{0} {1}",message, datetime);
};
Console.WriteLine(sum(40));
print("Hello");
Spiegare per favore Cosa si vuole ottenere. –
@Sudhakar, l'OP vuole definire un 'Action' o' Func' con parametri opzionali (cioè i parametri con valori predefiniti). –
possibile duplicato di [Parametro azione in cui T3 può essere facoltativo] (http://stackoverflow.com/questions/7690482/parameter-actiont1-t2-t3-in-which-t3-can-be-optional) –