有如下结构的代码:
其中Parent的ApplyEditable是一个Virtual方法,Child要对其进行各自不同的实现,即重写ApplyEditable方法。
上述代码中,很显著ParentA和ParentB有重复代码。但是因为C#不支持多继续,所以无法使用多继续的方式把这些重复代码封装起来。
我们只有走变通的道路:经由我的实践,使用混合+接口的方式。可以比较好的实现多继续。
我们仍是直接来看图:
详细的解决步骤是:
我就不贴代码了,完整的源代码下载地址为:http://cid-f73516baeac50992.skydrive.live.com/self.aspx/SharedCode/MultiDerived.zip
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-600457/ ,如需转载,请注明出处,否则将追究法律责任。