C# - 这种技术叫什么?

6

我想知道这种技术是否有一个名称 - 将状态方法更改为返回this,以便能够用linq方式编写它们 method().method().method()

class Program
{
    static void Main(string[] args)
    {
        Test t = new Test();
        t.Add(1).Write().Add(2).Write().Add(3).Write().Add(4).Write().Subtract(2).Write();
    }
}

internal class Test
{
    private int i = 0;

    public Test Add(int j)
    {
        i += j;
        return this;
    }

    public Test Subtract(int j)
    {
        i -= j;
        return this;
    }

    public Test Write()
    {
        Console.WriteLine("i = {0}",i.ToString());
        return this;
    }
}

1
你是指流畅接口吗? - Dan Byström
注意,有些方法可能返回另一个对象,而不仅仅是 this,但仍然可以获得相同的效果。通常这是关于返回允许进一步链接的东西。 - Richard
6
个人而言,我更愿意称之为“丑陋代码”。 - Victor Hurdugaci
LINQ不是自动更好的。 - user159335
3个回答


9

有趣:我在想该怎么称呼它,然后搜索了一下,找到了! - Meinersbur

1

流畅的API。

现在许多框架都支持它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接