IoC kullanıyoruz ve günlüğe kaydetmemizi sağladık. Common.Logging
kullanıyoruz ve Common.Logging.FormatMessageHandler
için eşleşen bir temsilci yazdık ancak bu temsilci sürümümüzden Common.Logging
api'nin beklediği sürüme nasıl dönüştürüleceğini bilmiyorum.Bir temsilci diğerine dönüştürün. Sözdizimli döküm
Bu soru benzer görünüyor, ancak uygulanan türümden aramak istediğim bilinen türe nasıl dönüştürüleceğini anlamıyorum. İşte
public delegate string FormatMessageHandler(string format, params object[] args)
Common.Logging en geçerli::
public delegate string FormatMessageHandler(string format, params object[] args)
aynı adı (değil önemli olan) ve parametrelerin aynı sayıda Dynamically casting one type of delegate to another
İşte benim temsilci imzadır. Her ikisi de derleme zamanında biliniyor, bu yüzden bariz bir şey olmalı ama ben onu görmüyorum.
temelde aynı şekilde davranır harika ve ben Eylem kullanma girişiminde kadar çalışır. Eylem ile nasıl baş edebilirim? Benim yöntemim imzası: public void Hatası (Eylem formatMessageCallback) Ve çağırmak için son yöntemdir: geçersiz Common.Logging.Error (Eylem formatMessageCallback); –
Common.Logging temsilcisini veya API'den herhangi birini ifşa etmeyeceğim. Gelecekte farklı bir kayıt çerçevesi kullanmaya karar verdik. Eğer böyle bir şey olursa, daha önce tanımladığımız kayıt arayüzünü uygulayan ve çağrıları yeni kayıt çerçevesine yansıtan bir kod yazmak zorundayız. –
@David: Logger temsilcisini kullanmamanın nedeni geçerli, açıkladığın için teşekkürler. Lütfen ilk yorumunuza bir çözüm için güncellemeye bakın. –