我怎样才能做类似 IList.Contains(OtherObjectType) 的事情?

发布于 2024-09-04 10:50:04 字数 371 浏览 1 评论 0原文

我有以下类:

Client

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

Media

,其中客户端包含 IList。现在我想做的是有一种方法来检查此 ilist 是否包含某种媒体

: Client.ClientCacheMedia.Contains(MyMedia)

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

I have the following classes:

Client

ClientCacheMedia ( contains Client, Media and some other parameters so it is the link between the media and the client)

Media

where client contains an IList. Now what i would like to do, is have a way to check if this ilist contains a certain media

so : Client.ClientCacheMedia.Contains(MyMedia)

is there any way to let the IList accept media as an object to match ? ( i can easily override the Equals Property on ClientCacheMedia to check if the media passed is the one that the ClientCacheMedia.Media contains, it's just the Ilist that will not accept any other object on the Contains Method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青瓷清茶倾城歌 2024-09-11 10:50:04

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

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

You can use the extension method IEnumerable.Any in this case. It could be something like this:

Client.ClientCacheMedia.Any(cm => cm.Media == myMedia);
爱格式化 2024-09-11 10:50:04

您也可以通过以下方式进行:

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

You can do it in this way too:

boll temp = (Client.ClientCacheMedia).ToList().Contains(MyMedia);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文