パラメーターの引き渡し
メソッド パラメーターは、値や参照で渡すことも、out パラメーターとして渡すこともできます。 パラメーターを値で渡すと、メソッドは呼び出し元のデータのコピーを取得し、呼び出し元のデータのコピーを変更できません。 パラメーターを参照で渡すと、メソッドは呼び出し元のデータへのポインターを取得します。 このデータは、呼び出し元と共有されます。 メソッドが参照パラメーターを変更した場合は、呼び出し元のデータも変更されます。 参照パラメーターを使用すると、初期状態のデータがメソッドにより使用されます。 out パラメーターは参照パラメーターに似ていますが、out パラメーターは、呼び出し元にデータを返すためにのみ使用されるのに対し、参照パラメーターは、メソッドからデータを受け取るだけでなく、メソッドにデータを渡すためにも使用できます。
out パラメーターや参照パラメーターの使用は避けてください。
out パラメーターや参照パラメーターを定義するメンバーを使用するには、ポインター、値型と参照型の微妙な違い、および out パラメーターと参照パラメーターの初期化に関する違いを理解することが開発者に求められます。
参照型を参照で渡さないでください。
オブジェクトを参照で渡すと、メソッドがオブジェクトを別のインスタンスに置換できるようになります。 ほとんどのシナリオで、メソッドは与えられたオブジェクトを使用し、それを置換できないようにする必要があります。 ただし、この規則にはいくつかの例外があります (参照を交換するために使用できるメソッドなど)。
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
設計ガイドラインの詳細についてを参照してください、「フレームワークの設計ガイドライン。規則、慣用句、および再利用可能なパターン。ネット ライブラリ」本クシシュトフ Cwalina、ブラッド エイブラムス、アスキー、2005 年発表しました。