【发布时间】:2017-04-12 10:28:22
【问题描述】:
我在从通用列表中获取记录时遇到问题。我创建了一个通用函数,我想从其中获取任何类型的类的记录。下面是示例代码:-
public void Test<T>(List<T> rEntity) where T : class
{
object id = 1;
var result = rEntity.Where(x => x.id == id);
}
请提出建议。提前致谢。
【问题讨论】:
-
您希望
Test<Type>()做什么?还是Test<StringBuilder>()?在我看来,您的T需要更多的约束...... -
这段代码甚至不应该编译,因为 T 是一个类并不意味着 T 是一个具有名为 id 的属性的对象集合。
-
嗨 Jon,'T' 是一个通用类名,我们将在调用上述方法时传递它。谢谢
-
真的不清楚你在这里做什么。你为什么不直接使用
list.Where(...)? -
你定义了一个具有 id 属性的基本类,并且你的 T 大部分是从该基本类继承的,在发布的代码中你最有编译器错误
标签: c# linq generic-list