次のクラスを想定します。
public class MyEntity
{
public string FirstName;
public string LastName;
}
の 2 つのインスタンスを比較し、他の 2 つのインスタンス間の値の違いのみを含むMyEntity
新しいMyEntity
インスタンスを作成したいと考えています。等しいプロパティはnull
、新しいオブジェクトの値になります。
たとえば、次のコードが必要です。
MyEntity entity1 = new MyEntity() { FirstName = "Jon", LastName = "Doh" };
MyEntity entity2 = new MyEntity() { FirstName = "Jon", LastName = "The Great" };
MyEntity diffEntity = CreateDiffEntity(entity1, entity2); // TODO
結果は次のdiffEntity
値になります。
{
FirstName: null,
LastName: "The Great"
}
すべてのプロパティが null 可能であると想定できます。
値が一致しない場合、新しいオブジェクトには 2 番目のオブジェクトのプロパティの値が含まれている必要があります。
さまざまなプロパティ定義を持つ多くのタイプのエンティティがあると仮定してください。
そのため、 以外のクラス タイプで使用できMyEntity
、新しいプロパティがクラスに追加されたときに変更を必要としないソリューションが必要です。
最終的な目標は、クライアント モバイル アプリケーションが、エンティティに加えられた変更のみを含む DTO を ASP.NET MVC WebAPI サーバー アプリケーションに送信できるようにすることです。
どうすればこれを適切に行うことができますか?