मैं निम्नलिखित इंटरफेस है:log4net आवरण के साथ structuremap का उपयोग
public interface ILogger
{
void Debug(string message, params object[] values);
void Info(string message, params object[] values);
void Warn(string message, params object[] values);
void Error(string message, params object[] values);
void Fatal(string message, params object[] values);
}
और निम्नलिखित कार्यान्वयन:
public class Log4netLogger : ILogger
{
private ILog _log;
public Log4netLogger(Type type)
{
_log = LogManager.GetLogger(type);
}
public void Debug(string message, params object[] values)
{
_log.DebugFormat(message, values);
}
// other logging methods here...
}
मेरा विचार का प्रकार उपयोग करने के साथ Log4netLogger वर्ग का दृष्टांत को structuremap का उपयोग किया गया कक्षा जो लॉगिंग किया था। हालांकि, मैं अपने जीवन के लिए यह नहीं समझ सकता कि कॉलिंग क्लास के प्रकार को किस प्रकार पास करना है ताकि इसे लॉगिंग कार्यान्वयन के निर्माता को पास किया जा सके। यह कैसे करना है (या एक बेहतर तरीका) पर कोई सलाह सबसे सराहना की जाएगी।
संरचना मैप का उपयोग करते समय कारखानों की आवश्यकता आमतौर पर कारखाने विधि के रूप में लैम्ब्डा के साथ "निर्मित" का उपयोग करके समाप्त की जा सकती है। http://structuremap.sourceforge.net/InstanceExpression.htm#section13 – KevM