【发布时间】:2019-09-20 15:54:05
【问题描述】:
我有两个不同对象的列表,即
List<Customer> Customers;
List<Retailer> Retailers;
我有一个方法,如果我分别传入具有适当类型的列表,一切正常。
我想尝试泛型,看看我是否可以有一种方法来完成两项任务,即传入 List 的类型,它会遍历列表并获取记录并采取任何必要的行动。
private T AddRecord<T>(List<T> ListofRecords)
{
foreach (T rec in ListofRecords.Records)
{
Object ob = GetRecord(rec.Id);
}
}
我遇到的问题是rec(foreach 循环的变量)不知道它是什么类型,所以我无法访问 ID 属性。
我该怎么做?
【问题讨论】:
-
通过让两个类实现包含 Id 属性的相同接口,并将您的泛型类型约束到该接口。查看重复但忽略反射答案。
-
ListOfRecords.Records应该是什么?你在某处有一个有Records属性的类吗?