Beste Möglichkeit zum Erstellen einer Instanz eines untergeordneten Objekts aus einem übergeordneten Objekt

Ich erstelle ein untergeordnetes Objekt aus einem übergeordneten Objekt. Das Szenario sieht also so aus, dass ich ein Objekt und ein untergeordnetes Objekt habe, die eine Entfernungseigenschaft für Szenarien hinzufügen, in denen ich suchen möchte. Ich habe die Vererbung ausgewählt, da meine Benutzeroberfläche entweder mit einem Suchobjekt oder einer Liste von Objekten, die nicht das Ergebnis einer Standortsuche sind, gleichwertig funktioniert. In diesem Fall scheint Vererbung eine vernünftige Wahl zu sein.

Als Geschenk muss ich ein neues Objekt generierenMyObjectSearch von einer Instanz vonMyObject. Gegenwärtig mache ich dies im Konstruktor manuell, indem ich die Eigenschaften nacheinander einstelle. Ich könnte Nachdenken gebrauchen, aber das wäre langsam. Gibt es einen besseren Weg, um diese Art der Objektverbesserung zu erreichen?

Hoffentlich zeigt mein Code unten das Szenario.

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;
    }
}

Und meine Suchfunktion:

public List<MyObjectSearch> DoSearch(Location loc) { 
  var myObjectSearchList = new List<MyObjectSearch>();       

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

}

Antworten auf die Frage(7)

Ihre Antwort auf die Frage