Лучший способ создать экземпляр дочернего объекта из родительского объектаC#

Место общения программистов C#
Anonymous
Лучший способ создать экземпляр дочернего объекта из родительского объекта

Сообщение Anonymous »

Я создаю дочерний объект на основе родительского объекта. Итак, сценарий таков, что у меня есть объект и дочерний объект, который добавляет свойство расстояния для сценариев, в которых я хочу выполнять поиск. Я решил использовать наследование, поскольку мой пользовательский интерфейс одинаково работает либо с объектом поиска, либо со списком объектов, а не с результатом поиска местоположения. Поэтому в этом случае наследование кажется разумным выбором.
В настоящее время мне нужно сгенерировать новый объект MyObjectSearch из экземпляра MyObject. В настоящее время я делаю это в конструкторе вручную, устанавливая свойства одно за другим. Я мог бы использовать отражение, но это было бы медленно. Есть ли лучший способ добиться такого улучшения объекта?
Надеюсь, мой код ниже иллюстрирует этот сценарий.
public class MyObject {

// Some properties and a location.
}

public class MyObjectSearch : MyObject {

public double Distance { get; set; }

public MyObjectSearch(MyObject obj) {
base.Prop1 = obj.Prop1;
base.Prop2 = obj.Prop2;
}
}

И моя функция поиска:
public List DoSearch(Location loc) {
var myObjectSearchList = new List();

foreach (var object in myObjectList) {
var distance = getDistance();
var myObjectSearch = new MyObjectSearch(object);
myObjectSearch.Distance = distance;
myObjectSearchList.add(myObjectSearch);
}
return myObjectSearchList;
}


Подробнее здесь: https://stackoverflow.com/questions/208 ... ent-object

Вернуться в «C#»