如何将不同类型的泛型列表合并到一个泛型自定义类型列表中?
问题描述:
比方说,我有三个不同类型的客户,地址和帐户通用名单。我如何将它们组合成一个'CustomerProfile'类型的通用列表?如何将不同类型的泛型列表合并到一个泛型自定义类型列表中?
Example:
Public class Customer
{
long customerId{ get; set; }
int titleId{ get; set; }
string firstName{ get; set; }
string middleName{ get; set; }
int maritalStatusId { get; set; }
}
public class Address
{
public long addressId{ get; set; }
long customerId{ get; set; }
short addressTypeId{ get; set; }
string postCode{ get; set; }
string geoCodeLattitude{ get; set; }
string geoCodeLongitude{ get; set; }
}
public class Account
{
long accountID{ get; set; }
string accountDesc{ get; set; }
short accountStatusID{ get; set; }
DateTime joinDate{ get; set; }
DateTime insertDateTime{ get; set; }
}
,当我回到新CustomerProfile列表中的结果集应该看起来象下面这样:
<CustomerProfile>
<Customer>
<customerId>
<titleId>
<firstName>
<middleName>
<maritalStatusId>
</Customer>
<Address>
<addressId>
<customerId>
<addressTypeId>
<postCode>
<geoCodeLattitude>
<geoCodeLongitude>
</Address>
<Account>
<accountID>
<accountDesc>
<accountStatusID>
<joinDate>
<insertDateTime>
</Account>
</CustomerProfile>
答
简短的回答,你不能。
您将需要使用List<object>
来存储它们全部或创建封装客户/地址/帐户的CustomerProfile
类。
public class CustomerProfile
{
public Customer { get; set;}
public Address { get; set;}
public Account { get; set:}
}
然后你就可以有
List<CustomerProfile>
答
你有三个实体如你所说的客户,地址和帐户。您的两个实体“客户”和“地址”具有关联关系,但“帐户”不具有任何关联关系,这意味着它可以在该实体“列表”中包含帐户表中的所有帐户数据。
首先,你可以拿着它的地址创建一个属性在客户类的列表。 其次,您可以将另一个属性定义为帐户列表。
当加载应用程序,那么你可以得到所有的客户和他们的地址和填充的Cusotmer对象及其地址财产和帐户进去。
现在,当你的客户的对象,然后通过它的两个属性地址和帐户,你可以轻松地访问其数据。
您也可以使一个类CustomerProfile中,你可以定义你的所有实体的列表,然后当你运行你applicatoin那么你就可以填补他们的所有属性来访问客户档案的对象。
你应该因为其'X has'模式转移到接口,而不是'X is'模式 –
哪里的XML进来吗?你的问题目前还不清楚......你有一个CustomerProfile类吗?见http://tinyurl.com/so-hints –