Подозрение на следующий класс:Создать объект, представляющий различия в значениях между двумя другими объектами
public class MyEntity
{
public string FirstName;
public string LastName;
}
Я хотел бы сравнить два экземпляра из 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"
}
Мы можем предположить, что все свойства обнуляемые.
В случае, если значения не совпадают, новый объект должен содержать значение свойства второго объекта.
Пожалуйста, предположим, у меня есть много типов сущностей, с различными свойствами definitionsm
Таким образом, мне нужно решение, которое может быть использовано на других типах классов, чем MyEntity
, и это не потребует изменений, когда новые свойства добавляются к классам ,
Конечная цель - дать возможность мобильному приложению клиента отправить DTO, который содержит только изменения, внесенные в сущность, в приложение ASP.NET MVC WebAPI.
Как это можно сделать правильно?
Вы уже пытались что-нибудь и застревают, или просто разместил вопрос и подумать, что кто-то сделает все для вас? :) – MarcinJuraszek
diffEntity примет значение второго объекта, если они не совпадают ...? – Jonesopolis
Звучит как интересный вопрос, вы можете сделать это в конструкторе класса, сравнивая значения 'entity1' и' entity2'. Вы вообще что-то пробовали или это всего лишь вопрос о домашнем задании? – tnw