É possível usar o valor de retorno de uma função em vez de um valor específico como parâmetro opcional em uma função? Por exemplo, em vez de:
public void ExampleMethod(int a, int b, int c=10)
{
}
Eu quero algo como
private int ChangeC(int a, int b)
{
return a+b;
}
public void ExampleMethod(int a, int b, int c=ChangeC(a,b))
{
}
c#
optional-parameters
Johannes Pertl
fonte
fonte
Respostas:
Uma das maneiras:
fonte
Não, isso não é possível. Para que um parâmetro seja opcional, o valor deve ser uma constante de tempo de compilação. No entanto, você pode sobrecarregar o método da seguinte maneira:
fonte
Não, não é possível. O guia de programação C # sobre argumentos opcionais diz:
Veja outras respostas para soluções alternativas.
fonte