わかりました ここで、熟考する別のポイントがあります。
MVVM は、Model は ViewModel に依存しないと述べています。したがって、ViewModel は、View がバインドするためのプロパティを公開します。
Microsoft コード分析ルールは、モデルのパブリック変数にプロパティを追加するように指示します。
警告 : CA1051 : Microsoft.Design : フィールド 'Employee.name' は宣言型の外側に表示されるため、そのアクセシビリティをプライベートに変更し、現在フィールドと同じアクセシビリティを持つプロパティを追加して、フィールドへのアクセスを提供します。
今では 2 つの繰り返しプロパティがあり、DRY にしたいので、ViewModel と View をマージすることを考えていました。ここには別のことがあります。モデルは POCO であり、INotifyPropertyChanged はありません。そのため、VM にモデル値の変更を知らせることは別の問題です。多くの IList ベースのバインディングを使用しています
私が見落としていた将来の問題はありますか?
編集:言及するのを忘れていましたが、モデルとビューモデルの関係を正しく定義する方法を見ましたか? 、私たちのソフトウェアのもう 1 つのことは、IList に値を設定する別のエンティティ、つまり SERVICE/UTILITY アセンブリがあることです。EmployeeViewModel は別の VIEW アセンブリにあります。したがって、ILIst を返すことはできません。