最近、私は/ラムダ式を利用している、私のコードの一部で診断ログの多くを持っていることのパターンにそのような匿名のデリゲート取った:LogVerboseへの2番目の引数があることを匿名の代理人が多すぎる可能性はありますか?
MyEventManager.LogVerbose(LogCategory.SomeCategory,() => String.Format(msg_string, GetParam1(), GetParam2(), GetParam3());
お知らせ文字列に評価されるラムダ式。この理由は、詳細なログが実際に有効になっていない場合、パフォーマンスの影響を最小限に抑えるために、LogVerboseはできるだけ作業を終了して終了する必要があるためです。エラーメッセージ文字列の構築には、時間やリソースが必要な場合があります。ラムダ式が評価されない場合は、パフォーマンスペナルティは発生しません。
私はこのような多くの匿名の代理人がアプリケーションのパフォーマンスに予期しない結果をもたらすタイプのシステムを浪費しているのか、他の戦略があるかどうかを考えています。
これは私が疑っていることですが、それは技術的正当性のためです。 – jlew