我使用 EntityCollection 作为组合框的数据源,作为带有 ria 服务的 silverlight 应用程序的下拉列表。 如果我知道集合中选定的项目,假设其 ID=123,那么我可以使用此 ID 来查找 EntityCollection 中选定的项目。如何编写用于此目的的通用函数?
说一些类似的话:
public Entity<T> GetEntity(EntityCollection<T> collection, string ID)
{
}
最佳答案
我不确定您是否可以在不使用反射的情况下将其设为通用函数。如果您知道要查找的类的类型,那么您可以使用 Linq 来查找对象:
var x = collection.Select(o => o as MyObject).Where(o => o.ID == ID).FirstOrDefault();
在这种情况下,您需要知道您正在使用的对象上有一个名为 ID 的属性。如果您不知道这一点,那么您将不得不使用反射来获取 ID 属性并比较该值(AFIAK)。
由于它实际上只是一行代码,因此可能不值得付出努力。
关于silverlight - 如何查找EntityCollection中的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683226/