Когда я выполняю назначение параметру out
или ref
, это значение, которое сразу назначается ссылкой, предоставленной вызывающим, или значения параметра out
и ref
, назначенные ссылкам, когда метод возвращается? Если метод генерирует исключение, возвращаемые значения?
Например:
int callerOutValue = 1;
int callerRefValue = 1;
MyMethod(123456, out callerOutValue, ref callerRefValue);
bool MyMethod(int inValue, out int outValue, ref int refValue)
{
outValue = 2;
refValue = 2;
throw new ArgumentException();
// Is callerOutValue 1 or 2?
// Is callerRefValue 1 or 2?
}