将多属性的值分配给对象

时间:2012-06-05 04:16:41

标签: c# .net

我有一个在基类中初始化的对象。在继承的类中,我使用此对象并为其指定多属性的值。例如:

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

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

感谢。

3 个答案:

答案 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 interfaceChart制作一组扩展方法。它将摆脱一些重复的代码,所以你的例子可能看起来像:

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 ......