私は現在の会社では比較的新しい従業員なので、ソフトウェアとアーキテクチャの使い方を学ぶという点では、まだ「消防ホースから飲んでいる」のです。ユニットテストを書いているときに、いくつかの非常に大きなオブジェクトを扱っていることに気づきました。たとえば、「SavedOrder」について話し合うために、探している特定のデータの場所を見つける必要があります。
私が抱えている問題は、各SavedOrderが、その継承とメンバー(メンバーを持っている、メンバーを持っているなど)の内部のどこかに、私が探しているデータを持っていることを知っていることです。にとって。
今のところ、私は自分の時計を無意識に拡張し、オブジェクトをマウスで動かして、探しているものを見つけられることを願っています。このオブジェクトが「タイプA」または値「SomeEnum.SomeValue」の何かを持っているかどうかを見つけるために使用するプラグイン/テクニックを知っている人はいますか?
編集:すべての良い入力、まだ私の目標を完全に解決するものは何もありません。オブジェクトブラウザ(オブジェクトブラウザとリフレクター)は、各オブジェクトのメンバーを適切に参照しますが、ポイントAをポイントDにリンクするという目標では、ポイントAをポイントBに、またはDをCに移動するのに役立ちます。
ソリューションを最もよく表す疑似c#再帰アルゴリズムは次のようになると思います。
WheresWaldo FindMember(Object o)
{
foreach(PublicMember member in o)
{
if(o.IsType(MyType))
return Success!;
else
return WheresWaldo(member);
}
}
誰が知っている、多分不可能です。