说不是返回 void 方法,而是返回对类的引用,即使它没有任何特定的语义意义。在我看来,它会给你更多关于如何调用方法的选择,允许你以类似流畅的界面风格使用它,我真的想不出任何缺点,因为你不需要做任何事情与返回值(甚至存储它)。
因此,假设您处于想要更新对象然后返回其当前值的情况。而不是说
myObj.Update();
var val = myObj.GetCurrentValue();
你将能够结合这两行说
var val = myObj.Update().GetCurrentValue();
编辑: 我一时兴起问了下面的问题,回想起来,我同意这可能是不必要的和复杂的,但是我的问题是关于返回这个而不是无效的立场。
在相关的说明中,你们如何看待让该语言包含一些新的语法糖:
var val = myObj.Update()<.GetCurrentValue();
此运算符的优先级较低,因此 myObj.Update() 将首先执行,然后在 myObj 上调用 GetCurrentValue(),而不是 Update 的 void 返回。
本质上,我在想象一个运算符,它会说“在左侧第一个有效对象上调用运算符右侧的方法”。有什么想法吗?