这个问题与这个问题类似。不同之处在于我想要两个基类。
例子:
public class Circle
{
private string _radius { get; set; }
public Circle Radius(string radius)
{
_radius = radius;
return this;
}
}
public class Box
{
private string _width { get; set; }
public Circle Width(string width)
{
_width = width;
return this;
}
}
public class CircleAndBox : Circle, Box // Can't do in c#
{
// should contain methods from both Circle and Box, but return CircleAndBox
}
也许 Circle and Box 不是最好的例子。基本上它们代表具有不同属性和方法的类。CircleAndBox 类恰好具有与 Circle 和 Box 相同的属性和方法。CircleAndBox 可能具有在 Circle 和 Box 中都不存在的附加属性和方法。
期望的结果
我应该可以写:
var circle = new Circle().Radius("5");
var box = new Box().Width("6");
var circleAndBox = new CircleAndBox().Radius("5").Width("6");
如果:
当我向Circle
或Box
类添加方法时,我不应该触摸CircleAndBox
类。就像从单个类的常规继承一样,CircleAndBox
应该自动从两者继承所有公共方法,Circle
并且Box