我有一个来自外部库的类对象,我想添加一些额外的属性。
假设外部类是:
我有一个对象列表,它会随着时间的推移而被填充。
我可以通过创建一个新类、添加额外的属性并将外部类作为属性来扩展这个类。
但是,要将原始的外部类列表转换为新类列表,我必须创建一个新的新类列表,并迭代原始列表创建一个新对象并将其添加到列表中,例如:
我可以用继承来实现这个吗,还是有更有效的方法?
理想情况下,我希望通过调用属性来结束。
假设外部类是:
public class ExternalClass
{
public string EXproperty1 {get;set;}
public string EXproperty2 {get;set;}
public string EXproperty3 {get;set;}
public ExternalClass(){}
}
我有一个对象列表,它会随着时间的推移而被填充。
List<ExternalClass> listOfExternalClass=new List<ExternalClass>();
listOfExternalClass=GetListOfExternalClass();
我可以通过创建一个新类、添加额外的属性并将外部类作为属性来扩展这个类。
public class NewClass
{
public ExternalClass ExternalClass {get;set;}
public string NewProperty1 {get;set;}
public string NewProperty2 {get;set;}
public NewClass(){}
public NewClass(ExternalClass externalClass){
this.ExternalClass=externalClass;
}
}
但是,要将原始的外部类列表转换为新类列表,我必须创建一个新的新类列表,并迭代原始列表创建一个新对象并将其添加到列表中,例如:
List<NewClass> listOfNewClass=new List<NewClass>();
foreach(var externalClass in listOfExternalClass)
{
listOfNewClass.Add(new NewClass(externalClass));
}
我将能够访问外部属性,例如
listOfNewClass.FirstOrDefault().ExternalClass.EXproperty1;
我可以用继承来实现这个吗,还是有更有效的方法?
理想情况下,我希望通过调用属性来结束。
listOfNewClass.FirstOrDefault().EXproperty1;