2つの異なるプロジェクトを使用したソリューションがあります。1つは.Net2.0フレームワークを使用して実行する必要があるという要件です。もう1つは.Net3.5を使用しており、MVVMに従いますが、これはMVVMについては良いパターンよりも少ないと思います。
.Net 2.0にはいくつかの異なるオブジェクト(たとえばFruitタイプ)があり、クラスプロパティ値を編集するために異なるWPFユーザーインターフェイスが必要になる可能性があります。今のところ、私は最初のものに取り組んでいます。.net 3.5プロジェクトは、ユーザーが実際に実行および編集するものです。
私が最初に考えたのは、Fruitサブクラスを作成するときです(Appleのコンストラクターには、編集ダイアログを作成するための呼び出しを返すFuncパラメーターがあります。編集ダイアログがまだ実装されていない他のFruitには、Funcパラメーターがあります。これは「編集はサポートされていません」エディタダイアログを返しますが、Funcsは2.0ではサポートされていません。
私の次の考えは、.net3.5プロジェクトがリフレクションを使用してインスタンスを作成できる.Net3.5クラスを参照する.net2.0クラスに属性を追加することです。しかし、これは厄介なようです。
.net 3.5プロジェクトでCreateFruitEditorクラスを作成して、Fruitタイプをチェックし、適切なエディターウィンドウを作成することもできますが、ステートメントチェックタイプの場合、最終的には大きな複数行になります(フルーツがまったく異なることを前提としています)。編集中。)
したがって、.net 2.0プロジェクトクラスは、.net3.5プロジェクトに.net2.0クラスの編集に使用する.net3.5クラスを何らかの方法で通知する必要があります。