我有一个在基类中初始化的对象。在继承的类中,我使用此对象并为其指定多属性的值。例如:
this.Chart.X = 10;
this.Chart.Y = 10;
this.Chart.Width = 20;
this.Chart.Height = 20;
this.Chart.Background = Color.Red;
但是,我必须多次重复“this.Chart”。如何避免这种情况。请注意,我不想再次重新创建此对象,因为在基类中,它已使用一些常见值进行初始化。
感谢。
答案 0 :(得分:2)
如果你真的急于保存一些打字,你可以写一个函数来做:
static void InitializeChart(Chart c) {
c.X = 10;
c.Y = 10;
c.Width = 20;
c.Height = 20;
c.Background = Color.Red;
}
或者只是将图表分配给局部变量:
var c = this.Chart;
c.X = 10;
c.Y = 10;
c.Width = 20;
c.Height = 20;
c.Background = Color.Red;
如果您控制基类,则另一种方法是为其提供一些初始化参数,并在构造图表时将属性设置为正确的值。
答案 1 :(得分:1)
您可以为实现fluent interface的Chart
制作一组扩展方法。它将摆脱一些重复的代码,所以你的例子可能看起来像:
this.Chart.X(10).Y(10).Width(20).Height(20).Background(Color.Red);
你甚至不需要this
。
答案 2 :(得分:-1)
您可以使用这样的字段初始值设定项:
this.chart = new Chart {X = 10, Y = 10, Width = 20, Height = 20, Background = Color.Red};
它可以省去你做的麻烦,this.chart.X = blah,this.chart.Y = blah ......