I have a function that is getting called by another part of the code, with the signature:
public override bool DoSomething(Foo f, out string failed)
{
failed = "I failed";
_anotherClassMethodExpectingString.SetString(failed);
}
So my question is – If i need to send the other class method the same string that my caller is expecting back in its “out” parameter, can i just send it the same variable, without having any effect on my caller? The “out” parameter is a little confusing to me .. Should I have used something like this instead:
public override bool DoSomething(Foo f, out string failed)
{
string localStr = "I failed";
failed = localStr;
_anotherClassMethodExpectingString.SetString(localStr);
}
Unless the subsequent method you’re calling is also using an out parameter then there’s no need to define a local variable. The string will be unaffected by any regular parameter passing.