明確にするために、ポインターからポインターへの動作が必要です。この質問の目的は、クリーンで読みやすいコードを生成することです。
Dictionary.TryGetValue
複数の呼び出しの結果をチェックする条件を含むコードがあります。必要なすべてのオブジェクトを 1 回の呼び出しで取得できればよりクリーンになるため、次のことを可能にする拡張機能を作成したいと考えました。
Dictionary<string, string> myDictionary; // Initialized somewhere
string x, y, z;
bool foundAllEntries = myDictionary.TryGetValues({"xvalue", out x}, {"yvalue", out y},
{"zvalue", out z});
if (foundAllEntries)
; // Do something with x, y, and z
ただし、出力を保持するオブジェクトに拡張メソッド参照を渡す方法がわかりません。これは非常に基本的なことのように思えます。
ローカル参照への参照をオブジェクトに格納するにはどうすればよいですか?
この質問は、TryGetValues 関数を実装する別の方法を求めているわけではないことに注意してください。これを「機能させる」方法はたくさんありますが、私が取ろうとしているアプローチほどクリーンなコードを生成する方法はありません。