申請書を書いています。ロギングには NLog を使用します。このアプリケーションでは、ほぼすべてのオブジェクトがログに書き込むことができます。そのための保護されたメンバーを定義します。
protected Logger logger;
protected virtual Logger Logger
{
get { return logger ?? (logger = LogManager.GetLogger(this.GetType().ToString())); }
}
その場合、アプリケーションのすべての基本クラスに対してこのコードをコピーして貼り付ける必要があります。または、他のオプションが表示されます。ロガーを含むアプリ固有のルート オブジェクトを定義し、それをサブクラス化します。しかし、意味的には、これは間違っているように聞こえます。
より良いオプションはありますか?