我們有兩個不同項目的解決方案,一個需要使用.Net 2.0框架完成。另一個使用.Net 3.5,我們遵循MVVM,儘管我懷疑MVVM比好的模式少。需要建議採取的方法
.Net 2.0有幾個不同的對象(比方說Fruit類型),它可能需要不同的WPF用戶界面來編輯類屬性值。現在,我只是在第一個工作。 .net 3.5項目是用戶實際運行和編輯的內容。我的第一個想法是,當我們創建Fruit子類時(蘋果,在構造函數中有一個Func參數,它返回調用來創建編輯對話框),其他的果子,沒有實現編輯對話框,只會簡單地有一個Func參數,它返回一個「不支持編輯」的編輯器對話框,但2.0中不支持Funcs。
我的下一個想法是,添加屬性到.net 2.0類,它指向。然後,.net 3.5項目可以使用反射創建實例,但這似乎很混亂
我可以在.net 3.5項目中創建一個CreateFruitEditor類, e Fruit類型並創建適當的編輯器窗口,但這最終會導致大的多行if語句檢查類型(假設編輯中的水果有很大不同)。
因此... .net 2.0項目類必須以某種方式通知我的.net 3.5項目.net 3.5類用於編輯.net 2.0類。