Noctris Noctris - 28 days ago 16
C# Question

How can i do something like IList<T>.Contains(OtherObjectType)?

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.

Answer

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

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