我试图用流利的接口来构建一个集合,类似这样(简体)例如: var a = StartWith(1).Add(2).Add(3).Add(4).ToArray();
/* a = int[] {1,2,3,4}; */
我能想出add添加(最好的解决方案)为: IEnumerable<T> Add<T>(this IEnumerable<T> coll, T item)
{
在斯卡拉 - 我们can do扩展方法是这样的: object MyExtensions {
implicit class RichInt(val i: Int) extends AnyVal {
def square = i * i
}
}
我们可以用这样的: import MyExtensions._
Int i = 2;
Val squared = i
比方说,我有一个类: class A {
public A fun() {
System.out.println("a");
return this;
}
}
而且一个场景: A a = new A();
a.fun().fun().fun().fun();
a.fun().fun();
是它在某种程度上可以打印在每个测序呼叫的第一个呼叫附