Uygulamamda log4net'i entegre ettim. Log4net çağrısı yapan günlüğe kaydetmede yardımcı olacak birkaç yardımcı yöntemim var. Refactoring yaparken, bu yöntemleri diğer türetilmiş sınıflarda kod tekrarlanmaması için taban sınıfına taşımayı planlıyorum. kalıtım modeli olmadan Log4net - miras kullanırken optimum strateji
, temel sınıf olarak ilan tipi döner taban sınıfı yukarıda yerleştirilmesi her sınıfprivate static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
düzgün çalışan ve türetilmiş sınıf olmayan aşağıdaki.
Bu bildirimi temel sınıfa taşımanın en iyi yolu nedir? Şu anda bunu başarmak için birkaç yol düşünebilirim, ancak bunları en uygun şekilde bulamıyorum.
Teşekkürler Stefan. Yani "Log" statik olmayan yapmak zorunda mıyım? – byte
Veya temel sınıf yapıcısında bir şey yazın (BaseClass.Log == null) {BaseClass.Log = LogManager.GetLogger (this.GetType()); } // Log ın hala BaseClass içinde özel statik olduğunu varsayarak – byte
Türetilmiş sınıf başına bir örneğe gereksiniminiz olduğundan statik olamaz. –