我怎么能做像IList <t> .Contains(OtherObjectType)?</t>这样的事情

时间:2010-06-01 11:28:26

标签: c# .net nhibernate ilist

我有以下课程:

客户端

ClientCacheMedia(包含客户端,媒体和其他一些参数,因此它是媒体和客户端之间的链接)

媒体

其中客户端包含IList。现在我想做的是,有办法检查这个ilist是否包含某种媒体

所以:Client.ClientCacheMedia.Contains(MyMedia)

有没有办法让IList接受媒体作为匹配的对象? (我可以轻松覆盖ClientCacheMedia上的Equals属性,以检查传递的媒体是否是ClientCacheMedia.Media包含的媒体,只是Ilist不接受Contains方法中的任何其他对象。

2 个答案:

答案 0 :(得分:7)

在这种情况下,您可以使用扩展方法IEnumerable.Any。它可能是这样的:

Client.ClientCacheMedia.Any(cm => cm.Media == myMedia);

答案 1 :(得分:0)

你也可以这样做:

boll temp = (Client.ClientCacheMedia).ToList().Contains(MyMedia);