所以用这个类我有C#继承类初始化
public class Options
{
public bool show { get; set; }
public int lineWidth { get; set; }
public bool fill { get; set; }
public Color fillColour { get; set; }
public string options { get; set; }
public virtual void createOptions()
{
options += "show: " + show.ToString().ToLower();
options += ", lineWidth: " + lineWidth;
options += ", fill: " + fill.ToString().ToLower();
options += ", fillColor: " + (fillColour != Color.Empty ? ColourToHex(fillColour) : "null");
}
public Options(bool _show, int _lineWidth, bool _fill, Color _fillColour)
{
show = _show;
lineWidth = _lineWidth;
fill = _fill;
fillColour = _fillColour;
createOptions();
}
}
,并继承其
public class Line : Options
{
public static bool steps { get; set; }
public override void createOptions()
{
options += ", lines: {";
options += " steps: " + steps.ToString().ToLower() + ",";
base.createOptions();
options += "}";
}
public Line(bool _show, int _lineWidth, bool _fill, Color _fillColour, bool _steps)
: base(_show, _lineWidth, _fill, _fillColour) { steps = _steps; }
}
当调用对象Line(true, 1, true, Color.Gray, true)
另一个类它继承的类功能的替代,再将steps
设置为true
。
我想要steps
被包含在覆盖中,所以steps
现在将是true
而不是false
(它的默认值)。
如果可能的话请给我一些关于如何解决这个问题的指针和技巧,并向我解释为什么我的设置不允许在构造函数初始化之后发生重写。
此代码不能编译。你可以从createOptions中调用'createTypeOptions',但是基本没有功能,并且基础没有构造函数需要4个参数。 – 2009-11-20 02:47:47
抱歉createTypeOptions应该是createOptions当我复制代码到stackoverflow我一定错过了。以及忘记选项构造函数 – Ayo 2009-11-21 14:36:51
是否有任何理由让步骤为静态? – 2012-02-18 16:37:48