作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
你能告诉我这是 C# 中的哪种构造吗?
Code Golf: Numeric equivalent of an Excel column name
C.WriteLine(C.ReadLine()
.Reverse()
.Select((c, i) => (c - 64) * System.Math.Pow(26, i))
.Sum());
虽然我是 C# 的新手(到目前为止只有两个月经验),但是自从我加入 C# 团队以来,我从未见过这种链接。 它真的很吸引我,我想了解更多。
请就此给出一些见解。
最佳答案
像这样的方法链接通常称为 fluent interface .
您可以通过实现返回调用对象的函数来创建自己的流畅界面。
举个简单的例子:
class Foo
{
private int bar;
public Foo AddBar(int b)
{
bar += b;
return this;
}
}
可以这样使用:
Foo f = new Foo().AddBar(1).AddBar(2);
您还可以使用扩展方法实现流畅的界面。
例如:
class Foo
{
public int Bar { get; set; }
}
static class FooExtensions
{
public static Foo AddBar(this Foo foo, int b)
{
foo.Bar += b;
return foo;
}
}
等等
Here是一个更复杂的例子。最后,Autofac和 CuttingEdge.Conditons是具有非常流畅的界面的开源库的两个示例。
关于c# - C# 中的这种链接称为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634891/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!