Say I have this class:
public class Animal : IEquatable
{
public string Name { get; set; }
public bool Equals(Animal other)
{
Arrays does implement the generic Interfaces IList
, ICollection
and IEnumerable
but the implemeneation is provided at runtime and therefore are not visible to the documentation build tools (That is why you don't see ICollection
in the msdn documentation of Array
).
I suspect that the runtime implementation just calls the non generic IList.Contains(object)
that the array already has.
And therefor the non generic Equals
method in your class is called.