я пытаюсь исключить определенные значения перечисления, такие как Unknown
и Uninitialized
из множества значений любого типа перечисления.Как исключить определенные перечисления из всех типов перечисления
я могу видеть, что Enums
генерируются циклическим использование EnumGenerator
из множества всех возможных Enum
значений для данного типа Enum
.
На основе этого кода, моя первая мысль построить ISpecimenBuilder
, который проверяет Type.IsEnum
и делает context.Resolve(request)
, пока Resolve
возвращает значение, которое не входит в список исключений.
Проблема в том, что это дает мне ошибку рекурсии. После проверки исходного кода я понимаю, почему - если строитель обрабатывает запрос и снова вызывает другой номер Resolve
с тем же запросом, вы попадете в бесконечный цикл.
Но поскольку EnumGenerator
не является расширяемым, и я не могу понять, как перехватить цепочку сборки. Я не понимаю, как это решить.
Не было бы проще ли украсить существующий «EnumGenerator»? –
Я вызываю класс 'EnumGenerator' в методе' Create'. Когда вы говорите «проще», вы имеете в виду сокращение метода Create каким-то образом? –
Примите мои извинения; Я не читал код достаточно тщательно, прежде чем написал этот комментарий. –