optional/null-able OUT parameter in C#
That looks fine to me. A out
cannot be optional for technical reasons (it needs to point to a valid instance).
Since C# 7.0 you can pass a Discard (_
) into the method:
return IsPossible(param1, param2, _);
See: https://docs.microsoft.com/en-us/dotnet/csharp/discards
A 'ref' or 'out' parameter cannot have a default value.
The way you've done it is just fine. Sorry, no silver bullet.