-1
我刚刚继承了一个WinForm应用程序。部分代码看起来太相似了。对于每个控件类型,执行相同的操作,只是投射。例如:继承应用程序
private void oSelectedControl_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (oSelectedControl.Type == "Advance")
{
oProperties.SelectedObject = ((Advance)oSelectedControl.SelectedControl).Properties;
}
else if (oSelectedControl.Type == "PercentageGauge")
{
oProperties.SelectedObject = ((PercentageGauge)oSelectedControl.SelectedControl).Properties;
}
else if (oSelectedControl.Type == "TrevoMeter")
{
oProperties.SelectedObject = ((TrevoMeter)oSelectedControl.SelectedControl).Properties;
}
.
.
.
}
并且它至少持续40个控件。
有没有办法用泛型等来做到这一点?
由于
泛型没有帮助。但是,由于缺乏定义所需属性的通用基类型,我会试图使用反射。 – Richard