ComboBoxCellType cbo = new ComboBoxCellType()
cbo.OtherStuff...
现在我希望这些代码的所有出现都有一个名为listwidth = 0的额外属性;所以 类似的东西:
ComboBoxCellType cbo = new ComboBoxCellType()
cbo.listwidth=0;
cbo.OtherStuff
一种方法是搜索代码并手动添加。但我想知道有没有更好的方法使用继承和重写来做到这一点?
答案 0 :(得分:1)
将ComboBoxCellType
的创建和初始化封装到方法中,并从之前执行此操作的每个位置调用该方法。
通常,如果您发现自己重复代码,请查看是否可以将代码提取到可以调用的方法中。保留您的代码DRY。
类似的东西:
private ComboBoxCellType BuildComboBoxCellType()
{
ComboBoxCellType cbo = new ComboBoxCellType()
cbo.listwidth=0;
cbo.OtherStuff...
return cbo;
}
在原始代码中:
ComboBoxCellType cbo = BuildComboBoxCellType();
答案 1 :(得分:1)
您可以创建一个可用于新建ComboBoxCellType的静态类。
这样的事情:
public static class ComboBoxCellTypeFactory
{
public static ComboBoxCellType Create()
{
return new ComboBoxCellType(){listwidth = 0};
}
}
有了这个,你就可以将listwidth属性设置为0来新建ComboBoxCellType实例,如下所示:
ComboBoxCellType cbo = ComboBoxCellTypeFactory.Create();
cbo.OtherStuff...
答案 2 :(得分:0)
如果您有权访问源代码,我建议您在ComboBoxCellType的构造函数中放置this.listwidth = 0.