Changing parameter values is considered an anti-pattern, but I find it useful sometimes with optional parameters in C#:
public void Foo(int p1, MyClass fooObj = null)
{
if (fooObj == null)
{
fooObj = LoadFooObj(....
}
. . .
}
Is something here potentially harmful I may be missing?
Thanks.