Ham*_*thi 8 c# fluent-interface method-chaining
见下面的代码:
new ConditionCreator()
.Add()
.Or()
.Add()
.And()
.Add()
Run Code Online (Sandbox Code Playgroud)
我想为此创建一个Fluent接口但是我需要,在Add()方法开发人员看到Only Or()或And()之后,在其中一个之后,请参阅Only Add()方法.
所以没有人可以编写如下代码:
new ConditionCreator()
.Add()
.Add()
.Add()
.Or()
.And()
.Add()
.And()
.And()
Run Code Online (Sandbox Code Playgroud)
我希望有一些限制,一些方法可以接受特殊的方法等.我可以在一个类中编写所有方法,并为每一个返回这个,但这是不合适的!
请指导我如何编写Advanced Fluent Interface类.
And()考虑返回仅包含和 的接口Or()。例如:
public class ConditionCreator : IFluentAndOr
{
public IFluentAndOr And() { ... }
public IFluentAndOr Or() { ... }
}
public interface IFluentAndOr
{
IFluentAndOr And();
IFluentAndOr Or();
}
Run Code Online (Sandbox Code Playgroud)