当前位置: 首页 > 编程语言 > C#

在处理部分类、继承和VisualStudio生成代码时,通用接口方法放在哪里分享

时间:2023-04-11 02:21:57 C#

在处理部分类、继承和VisualStudio生成代码时,通用接口方法放在哪里考虑这种情况:我们有两个由VisualStudio生成的类,比如类型化数据集行。这些类派生自我们无法更改的公共基类。我们无法更改这些子类派生的类,但它们是作为部分类生成的,因此我们可以扩展它们。现在我们决定为这两个类实现一个接口,定义一些通用的方法,但是这两个类的方法将以完全相同的方式实现。把这些方法放在哪里最好,这样我们就不会把相同的代码写两次。我可以在一些帮助程序或全局类中使用代码,但似乎应该有更好的方法。这是一个快速代码示例:publicinterfaceICommonInterface{voidSomeMethod(intx);}//我们不能改变基类中的内容,也不能从不同的基类派生Child1或Child2,因为它们是由VisualStudio生成的部分类//我们可以扩展它们,并通过publicpartial创建一个接口classChild1:SomeBaseClass,ICommonInterface{publicvoidSomeMethod(intx){//这段代码在两个子类中是相同的//最好放在哪里以避免写两次相同的代码}}publicpartialclassChild2:SomeBaseClass,ICommonInterface{publicvoidSomeMethod(intx){//这段代码在两个子类中是相同的//最好放在哪里以避免写两次相同的代码}}我会使用封装在这种情况下。创建一个类(在两个类中都有一个私有实例)并将SomeMethod调用委托给内部私有类实现。这消除了(大部分)重复,同时仍然允许每个类的独特实现的好处。看起来.NET数据集中包含的TableAdapter类有一个可以在设计器中更改的基类。这是您使用部分类的类,还是可以将其用作提供这些方法可以使用的公共基类的一种方式?以上就是C#学习教程:处理部分类、继承和VisualStudio生成代码时,通用接口方法放在哪里分享所有内容,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: