Лучший способ создать экземпляр дочернего объекта из родительского объекта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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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