1
NLog의 LogLevel 유형에 대한 사용자 지정을 만들고 싶습니다. 인스턴스는 FromOrdinal 정적 메소드로 작성할 수 있습니다.특정 형식을 만들기 위해 자동 수정 사용자 지정
작성한 서수를 범위 (0..5)로 제한하려고합니다. 발전기로 전체 조명기를 사용자 정의하고 싶지는 않습니다 (다른 정수가 더 클 수 있음).
class NLogCustomization : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customize<NLog.LogLevel>(
c => c.FromFactory(() =>
{
var ordinal = this.nlogOrdinalLevelFactory.Create<int>(); //Throws invalid cast exception
return NLog.LogLevel.FromOrdinal((int)ordinal);
}));
}
private readonly ISpecimenBuilder nlogOrdinalLevelFactory = new RandomNumericSequenceGenerator(0,5);
}
불행하게도 위의 코드를 InvalidCastException이 예외 :
여기 내가 사용하려고 코드의 조각입니다. 여기서 내가 뭘 잘못하고 있니?
버전 3.19.1을 사용하고 있습니다. Create<T>
할 대신,이 예제에서는
object Create(object request, ISpecimenContext context);
:
fixture.Customize<LogLevel>(c => c.FromFactory(() =>
{
var ordinal = this.nlogOrdinalLevelFactory
.Create(typeof(int), new SpecimenContext(fixture));
return NLog.LogLevel.FromOrdinal((int)ordinal);
}));
덕분에, 나는 그것을 시도 할 것이다 – dzendras