Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。Framework4.0にて開発を行っております。可読性も下がってしまっているので、そこを解決したいと思い、質問させて頂きます。現状は以下の通りです。classロギング出力用のクラスを用意してあり、そのクラスのメソッドを、ログ出力のタイミングで引数を渡して呼び出しているのですが、複数のクラスに記述がまたがってしまったりと、とにかく煩雑になってしまいます。問題解決の目的がロギングのみではなく、処理進行を表すフォームウィンドを操作する際にも同じ仕組が必要となってきています。http://www.itmedia.co.jp/im/articles/0410/20/news086.htmlこのサイトを参考にAOPやDIに関して色々と調べてみたのですが、具体的な解決策にたどり着けませんでした。何か具体的な解決策をご存知でしたら、お願いいたします。個の銅バッジ使用してる.NETのversionとかも書いた方が良いと思います。1:53説明が足りず、申し訳ありません。log出力に関しては、オリジナルのクラスを使用しています。2:10仰る通りですね。構造を変えてみようと思います。.NETのAOPについては、興味があるので、引き続き、皆様の解答を参考にさせて頂きたいと思います。票2.NETであれば、PostSharpはいかがでしょうか。products?」)で使えます。無料版は機能制限がありますが、ログ出力であれば十分だと思います。}}MyLogging属性はPostSharpのライブラリにあるクラスを継承して自分で作ります。}}この属性をクラスに付けると、そのクラスのメソッドが呼ばれるたびに、OnEntryとOnExitが呼ばれるので、そこでログ出力処理とか書けばOKです。クラスではなくメソッドに属性をつければ、そのメソッドだけログ出力できます。「XX件のデータを処理」のような出力をするには何らかの工夫が必要だと思います。Studioの「拡張機能と更新プログラム」で、「オンライン」から検索してインストールすればすぐ使えます。補足ですが、AOPフレームワークには色々な実現方法があり、PostSharpは「ビルド時にILを書き換える」という方式を採っています。量次第ですが、ビルドは遅くなります。「プロキシクラスを使う」方式に比べて、「あるクラスを継承しなければならない」とかの制限が無いですし、実行時のパフォーマンスも有利です。|0設計例の参考になるのと、もしくは独自実装からの置き換えも検討できると思い、NLogを紹介します。生成して各クラスで利用します。その他の例はWikiに良くまとまっているのでご一読ください。コードに記述するログ出力処理は、ログのメッセージとレベル(Fatal,Error,・・・)だけで、その出力先(Target)やフォーマットはNLog.Configでコントロールします。デザインが明快で気に入っています。個の銅バッジご丁寧に解答してくださり、ありがとうございます。一度どのようなものか、サンプルプログラムを作るなどして検証させて頂きます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。