如何将不同类型的通用列表组合为类型的通用自定义列表
本文关键字:列表 类型 自定义 组合 同类型 | 更新日期: 2023-09-27 18:12:05
假设我有三个不同类型的通用列表Customer、Address和Account。我如何将它们组合成一个"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>
您有三个实体,如您所说的客户、地址和帐户。你的两个实体Customer和Address有关联,但是Accounts没有任何关联,这意味着它可以保存该实体中Account表中的所有Account数据。
首先,您可以在customer类中创建一个列表属性,用于保存其地址。其次,你可以定义另一个属性作为帐户列表。
当您加载应用程序时,您可以获得所有客户和他们的地址,并将客户对象及其地址属性和帐户填充到其中。
现在,当你得到客户对象,然后通过它的两个属性地址和帐户,你可以很容易地访问它的数据。
你也可以创建一个类CustomerProfile,你可以在其中定义你所有的实体作为一个列表,然后当你运行你的应用程序时,你可以填充他们所有的属性来访问客户配置文件的对象