-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