object パラメーターの参照方法に関して、次のメソッドの違いは何だろうか。
public void DoSomething(object parameter){}
と
public void DoSomething(ref object parameter){}
同じ参照内のオブジェクトをオーバーライドしないようref object parameterに参照を変更したい場合に使用する必要がありますか?object
Argument Passing ByVal: 値による引数の受け渡しについて説明します。これは、プロシージャが変数自体を変更できないことを意味します。
Argument Passing ByRef: 参照による引数の受け渡しについて説明します。これは、プロシージャが変数自体を変更できることを意味します。
その意味を見るref objectと、引数はobject型でなければなりません。
ドキュメントで読むことができます:
仮パラメーターが参照パラメーターの場合、メソッド呼び出しの対応する引数は、キーワード ref と、それに続く仮パラメーターと同じ型の変数参照 (§5.3.3) で構成される必要があります。変数を参照パラメーターとして渡す前に、変数を確実に割り当てる必要があります。