|
若要自行修改EEP中的某個元件,是否有比較推薦的方式? |
|
|
有兩種方法: 1. 使用partial關鍵字來擴展類。 2. 使用Inheritance繼承來實現一個新類。 下面以WebDateTimePicker詳細說明兩種方法的區別: ---------------------------------------------------------- 一、代碼實現,同樣都需要新增一個WebDateTimePickerExtend.cs 1.partial:在新文件中加入 public partial class WebDateTimePicker { public void NewFunction(){} } 同時還要修改原WebDateTimePicker.cs中的WebDateTimePicker聲明為public partial class WebDateTimePicker 2.繼承:在新文件中加入 public class WebDateTimePickerExtend: WebDateTimePicker { public void NewFunction(){} } ---------------------------------------------------------- 二、修改和新增屬性和方法 1.partial: 可實現新增方法和屬性,但不能修改原有的方法和屬性。 2.繼承:可實現新增方法和屬性,同時也可以override原有的非私有方法和屬性。 ---------------------------------------------------------- 三、類的應用 1.partial:由於類只是被擴展,所以新增的部分還是屬於原類的,這樣WebDateTimePicker就有了新的方法和屬性。 2.繼承:只有繼承的子類WebDateTimePickerExtend才有新方法和屬性,所以要用的話,要換一個類。
具體選擇哪種方法要視情況而定: (1)使用擴展的方法,可以不變動其他調用此類的原代碼,但是不能更改WebDateTimePicker原有的方法。 (2)使用繼承的方法,可以變更WebDateTimePicker原有的方法,但其他調用此類的代碼也要相應的修改。
|
|
|