0

我有一个对象,它之前在基类中初始化过。在继承的类中,我使用这个对象并为它分配多属性的值。例子:

this.Chart.X = 10;
this.Chart.Y = 10;
this.Chart.Width = 20;
this.Chart.Height = 20;
this.Chart.Background = Color.Red;

但是,我必须多次重复“this.Chart”。如何避免这种情况。请注意,我不想再次重新创建此对象,因为在基类中,它已使用一些常见值进行了初始化。

谢谢。

4

3 回答 3

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;

如果您可以控制基类,另一种方法是为其提供一些初始化参数,并在构造图表时将属性设置为正确的值。

于 2012-06-05T04:36:39.287 回答
1

您可以为Chart实现流畅的接口创建一组扩展方法。它将摆脱一些重复的代码,因此您的示例可能类似于:

this.Chart.X(10).Y(10).Width(20).Height(20).Background(Color.Red);

而你甚至不需要this.

于 2012-06-05T04:38:04.763 回答
-1

您可以像这样使用字段初始值设定项:

this.chart = new Chart {X = 10, Y = 10, Width = 20, Height = 20, Background = Color.Red};

它为您省去了做事的麻烦,this.chart.X = blah, this.chart.Y = blah...

于 2012-06-05T04:23:15.977 回答