小编Haf*_*fax的帖子

如何在C#中链接方法时强制转换

我正在尝试编写代码,我总是返回对象本身,以便我可以继续链接.像这样

object.SetThis().SetThat().SetThisThirdThing().setThisFourthThing();
Run Code Online (Sandbox Code Playgroud)

我在所有方法中都返回这个,所以我可以继续这样做.但是我的一个方法是我在基类中创建的,当然然后返回基类.

所以不是public MyClass SetThat()它返回public SuperClass SetThat().并且因为它返回SuperClass而不是MyClass我不能调用SetThisThirdThing()因为基类不知道它.

那么我如何施展它以便我能保持链条?语法是什么?我试过了

object.SetThis().(MyClass)SetThat().SetThisThirdThing().setThisFourthThing();
Run Code Online (Sandbox Code Playgroud)

或者有没有办法让superClass方法在从子类调用时返回子类,而不必在所有子类中重写它?

这是所有子类共有的东西之一,所以如果我能够以某种方式绕过它而不必在所有子类中覆盖它,那将是非常好的.

c# syntax casting

3
推荐指数
1
解决办法
522
查看次数

标签 统计

c# ×1

casting ×1

syntax ×1