您可以使用下面的代码获取ClassX
对象的名单。
var list = (from t in listY
select new ClassX
{
id = t.id,
title = t.title,
description = t.description
}).ToList();
但你可以有ClassY
作为子类ClassX
和利用继承的
有下面的类结构:
public class ClassX
{
public int id { get; set; }
public string title { get; set; }
public string description { get; set; }
}
public class ClassY : ClassX
{
public int localeId { get; set; }
public int clientId { get; set; }
}
之后你可以这样做:
List<ClassY> listY = new List<ClassY>();
listY.Add(new ClassY { id = 0, title = "sometitle1", description = "some description", localeId = 1, clientId = 2 });
listY.Add(new ClassY { id = 1, title = "sometitle2", description = "some description", localeId = 1, clientId = 2 });
listY.Add(new ClassY { id = 2, title = "sometitle3", description = "some description", localeId = 1, clientId = 2 });
List<ClassX> listX = (from t in listY
select (ClassX)t).ToList(); //casting to base class
您将ClassY
的项目投射到您的基地ClassX
您可以使用ClassX作为优雅的基类。 –
+1 @AdrianFaciu,这个需要一些OO的尖叫 – Dutts