c# – 部分类/部分方法与基础/继承类
发布时间:2020-12-15 19:34:10 所属栏目:百科 来源:网络整理
导读:关于班级设计的问题.目前我有以下结构: 抽象基本存储库类 默认存储库实现类(实现一些抽象方法,其中逻辑通过所有特定类,但保留其他空) 特定的Repository实现类(实现上面的Default类中的空白) 我现在遇到了一个问题,我在Specific类中有一个特定的Update()方法
关于班级设计的问题.目前我有以下结构:
抽象基本存储库类 默认存储库实现类(实现一些抽象方法,其中逻辑通过所有特定类,但保留其他空) 特定的Repository实现类(实现上面的Default类中的空白) 我现在遇到了一个问题,我在Specific类中有一个特定的Update()方法,但是当这个方法中的所有代码都执行一些来自基类的代码时,也应该执行Default类. 我可以这样做 public override Update() { // do Specific class actions and updates // .... // follow with base.Update() base.Update(); } 但是这需要在所有继承的方法中调用base.XYZ().我能以某种方式解决这个问题吗? 因此,要求是在父类和继承类中都有代码(或者使用partials来创建这两个类),并且应该执行两个地方的方法实现中的代码.另外,如果我想转而执行基类代码,然后继承类代码呢? 谢谢 解决方法
你考虑过这样的事情:
public abstract class YourBaseClass { public void Update() { // Do some stuff // // Invoke inherited class's method UpdateCore(); } protected abstract void UpdateCore(); } public class YourChildClass : YourBaseClass { protected override void UpdateCore() { //Do the important stuff } } //Somewhere else in code: var ycc = new YourChildClass(); ycc.Update(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |