2

我使用 EntityCollection 作为组合框的数据源作为具有 ria 服务的 silverlight 应用程序的下拉列表。如果我知道集合中选择的项目,说它的 ID=123,那么我可以使用这个 ID 来找出 EntityCollection 中的选择。如何为此编写通用函数?

像这样说:

public Entity<T> GetEntity(EntityCollection<T> collection, string ID)
{


}
4

1 回答 1

3

我不确定您是否可以在不使用反射的情况下使其成为通用功能。如果您知道要查找的类的类型,则可以使用 Linq 查找对象:

var x = collection.Select(o => o as MyObject).Where(o => o.ID == ID).FirstOrDefault();

在这种情况下,您需要知道您正在使用的对象上有一个名为 ID 的属性。如果您不知道这一点,那么您将不得不使用反射来获取 ID 属性并比较值 (AFIAK)。

由于它实际上只是一行代码,因此可能不值得付出努力。

于 2009-11-05T20:24:45.107 回答