@
huzhikuizainali “方法.方法” 其实只是表象,本质是“[返回值为对象的方法]().[被上一个方法返回的对象所拥有的方法]()”,这样来看还是你说的“对象.方法.方法”,这种应该确实就是链式调用了,你可以先看看 OOP 语言 Java 里链式调用的用法,不是任何方法都可以链起来,前提必须是上一个方法的返回值是一个新的对象或用 this 返回当前对象。
其次的话虽然当前问题只局限在 C#里,但还是想建议 OP 在表述“方法.方法”时严谨一些,一定要带上 call 的括号(),因为在 Python ,JS 等动态语言里,你可以往一个函数内挂载别的 property ,比如有一个 function foo() {},那么可以 foo.bar=function() {},这样子 foo 既可以被 call 也可以被当作对象做属性索引 foo.bar ,这种时候 foo().bar()和 foo.bar()实际上是完全不同的两种调用了。