2016-11-18 8 views
0

私はC#のオブジェクトHierachyデザイン

オブジェクトAがオブジェクトB年代で構成されたリストが含まれ、オブジェクトBさんは、オブジェクトCのリストが含まれている...私のC#アプリケーション内の関連する一連のオブジェクトを作成しました。

オブジェクトAは現在、オブジェクトAのインスタンス名(アプリケーション「Server 1」、「Server 2」、「Server 3」に3つのオブジェクトAインスタンスがあります)に応じてログファイルに情報を書き込みます。したがって、オブジェクトAの各インスタンスは、それ自身のログファイルに書き込みます。

"Server 1"に属するコレクションにオブジェクトBが "Server 1"ログファイルに情報を書き込む方法を教えてください。

私が知る限り、オブジェクトBは、それがオブジェクトAに属するオブジェクトBのコレクションの一部であることを知らない。オブジェクトBはオブジェクトAについて何も知らないため、オブジェクトAの名前を取得して同じものに書き込むことができないオブジェクトBの特定のインスタンスのログファイル。

私はこれをうまく設計しましたか?オブジェクトBが実行時にコレクションの一部であるかどうかをチェックし、オブジェクトAから情報を取得する方法または方法はありますか?

+1

いつでもオブジェクトAタイプのフィールド/プロパティを追加して、オブジェクトBの親オブジェクトを記録することができます。どのくらい素晴らしいか分かりません。 –

+0

BはA(親/所有者)への参照を必要とするか、AはロギングのためにBをポーリングする必要があります。あるいは、AがすべてのBに渡すLoggerインスタンス/インタフェースを作成します。 –

答えて

0

最後に、提案したように、私は子供に親の名前を渡してログに記録するときにこれを使用することができました。

関連する問題