Мне было интересно, как лучше всего реализовать условие .When
в свободном интерфейсеиспользуя цепочку методов в объекте Builder
?
Например, как реализовать методы .WithSkill()
и .When()
в следующем примере:
var level = 5;
var ninja = NinjaBuilder
.CreateNinja()
.Named("Ninja Boy")
.AtLevel(level)
.WithShurikens(10)
.WithSkill(Skill.HideInShadows)
.When(level > 3)
.Build()
Update— пример решения может быть нашел здесь.