我使用EntityCollection作为combox的数据源作为带有ria服务的silverlight应用程序的下拉列表。 如果我知道在集合中选择的项目,比如它的ID = 123,那么我可以使用此ID来查找EntityCollection中的选定内容。如何为此目的编写通用函数?
说出类似的话:
public Entity<T> GetEntity(EntityCollection<T> collection, string ID)
{
}
答案 0 :(得分:3)
我不确定你可以在不使用反射的情况下将其作为通用功能。如果你知道你正在寻找的类的类型,那么你可以使用Linq找到对象:
var x = collection.Select(o => o as MyObject).Where(o => o.ID == ID).FirstOrDefault();
在这种情况下,您需要知道您正在使用的对象上有一个名为ID的属性。如果您不知道这一点,那么您将不得不使用反射来获取ID属性并比较值(AFIAK)。
因为它实际上只有一行代码,所以可能不值得付出努力。