【问题标题】:Inheritance And Partial In Class [duplicate]继承和部分类[重复]
【发布时间】:2017-07-09 21:52:53
【问题描述】:
public class Car
{
    ......
}

是否需要在所有部分类中每次都使用父类或只使用第一个(为什么?对性能或干净的代码有好处?)

public partial class TwoWheels : Car
{
     ..... (1)
}

public partial class TwoWheels : Car
{
     ..... (2)
}

或者

public partial class TwoWheels : Car
{
     ..... (1)
}

public partial class TwoWheels
{
     ..... (2)
}

我在我的代码中使用了第二个,但第一个也可以工作

【问题讨论】:

  • “是否需要在所有部分类中每次都使用父类” - 你已经知道它不是,因为你在没有额外继承声明的情况下尝试过它并且它有效.你剩下的问题是纯粹的意见。您可以根据自己的喜好重新声明继承或不重新声明。另见stackoverflow.com/questions/21794381/…

标签: c# inheritance partial-classes


【解决方案1】:

不,您只需要在发布问题时定义一次Inheritance 关系(下一个);因为根据定义它是一个partial 类,因此当合并发生时,您无论如何都要正确设置继承定义

public partial class TwoWheels : Car
{
     ..... (1)
}

public partial class TwoWheels
{
     ..... (2)
}

引用Documentation

如果任何部分声明了一个基类型,那么整个类型都会继承它 班级。指定基类的所有部分必须一致,但部分 省略基类仍然继承基类型。最终类型是编译时所有部分的组合。

例子:

partial class Earth : Planet, IRotate { }
partial class Earth : IRevolve { }

相当于

class Earth : Planet, IRotate, IRevolve { }

【讨论】:

  • 感谢您的回答
【解决方案2】:

是的,您只“需要”一次 - 当部分类被捆绑时,它会为整个类使用该继承。

但是......在你走得太远之前,请确保你阅读为什么部分类存在。

When is it appropriate to use C# partial classes?

...基本上,您可能不应该使用它们。就我个人而言,每次我写“公共部分类”时……我后来不得不重做代码以使用基类/派生类来更好、更干净地完成工作。

【讨论】:

    猜你喜欢
    • 2020-12-27
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多