我有一个对象,它之前在基类中初始化过。在继承的类中,我使用这个对象并为它分配多属性的值。例子:
this.Chart.X = 10;
this.Chart.Y = 10;
this.Chart.Width = 20;
this.Chart.Height = 20;
this.Chart.Background = Color.Red;
但是,我必须多次重复“this.Chart”。如何避免这种情况。请注意,我不想再次重新创建此对象,因为在基类中,它已使用一些常见值进行了初始化。
谢谢。
如果你真的很想节省一些打字,你可以编写一个函数来做到这一点:
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;
如果您可以控制基类,另一种方法是为其提供一些初始化参数,并在构造图表时将属性设置为正确的值。
您可以为Chart实现流畅的接口创建一组扩展方法。它将摆脱一些重复的代码,因此您的示例可能类似于:
this.Chart.X(10).Y(10).Width(20).Height(20).Background(Color.Red);
而你甚至不需要this.
您可以像这样使用字段初始值设定项:
this.chart = new Chart {X = 10, Y = 10, Width = 20, Height = 20, Background = Color.Red};
它为您省去了做事的麻烦,this.chart.X = blah, this.chart.Y = blah...