Verifique o método interno se algum argumento opcional foi passado
Como verifico se um argumento opcional foi passado para um método?
public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
{
if (optionalint was passed)
return;
}
Outra abordagem é usarNullable<T>.HasValue
(Definições de MSDN, Exemplos MSDN):
int default_optionalint = 0;
public void ExampleMethod(int required, int? optionalint,
string optionalstr = "default string")
{
int _optionalint = optionalint ?? default_optionalint;
}