Если я правильно понимаю ваш комментарий «Я просто хочу заполнить их автоматически», вы захотите создать новый дочерний объект, который будет заполнен значениями родительского элемента со значениями по умолчанию для новых свойств.Лучший способ сделать это - создать конструктор, который копирует значения:
public class Parent
{
public string FirstName {get; set;}
public string LastName {get; set;}
public string City {get; set;}
}
public class Child : Parent
{
public string PhoneNumber {get; set;}
public string MobileNumber {get; set;}
public Child (Parent parentToCopy)
{
this.FirstName = parentToCopy.FirstName;
this.LastName = parentToCopy.LastName;
this.City = parentToCopy.City;
this.PhoneNumber = string.Empty; // Or any other default.
this.MobileNumber = string.Empty;
}
}
Теперь вы можете использовать LINQ, как и ответы выше, для создания дочернего элемента каждого родителя:
List<Child> lstChild = lstParent.Select(parent => new Child(parent)).ToList();
Обратите внимание, что это очень похоже на ответ @ daryal, но оборачивает логику копирования между родителями внутри конструктора, а не выводит ее снаружи в вызове new Child()
.