1
나는 다음과 같은 클래스가 : 기본 경우,해결 NLog 인스턴스
IUnityContainer container = new UnityContainer();
container.RegisterType<TestInjection>();
var myTestClass = container.Resolve<TestInjection>(new ResolverOverride[] { new ParameterOverride("logger", LogManager.GetCurrentClassLogger()) });
myTestClass.Process();
어떻게 단결 컨테이너와 LogManager.GetCurrentClassLogger()
를 해결하려면
public class TestInjection
{
private ILogger logger;
public TestInjection(ILogger logger)
{
this.logger = logger;
}
public void Process()
{
try
{
int zero = 0;
int result = 5/zero;
}
catch (DivideByZeroException ex)
{
logger.Log(LogLevel.Error, "test message", ex);
Console.WriteLine("logged message from class");
}
}
}
과의
가Program.cs
나는 코드가 내를
Logger
클래스의 생성자에 액세스 할 수 없습니까?
감사합니다.
추신 : 이것은 DI와 Unity에 대한 나의 첫 경험입니다. 여기