Giriş
IEquatable şöyle tanımlıdır.
IEquatable arayüzünü gerçekleştirmek istersek şöyle yaparız.
IEquatable şöyle tanımlıdır.
IEquatable<T>
IEquatable arayüzü IEqualityComparer arayüzünden farklıdır. IEquatable nesnemizi kendi tipinden bir başka nesne ile karşılaştırır. IEqualityComparer ise iki nesneyi birbiriyle karşılaştırır.IEquatable arayüzünü gerçekleştirmek istersek şöyle yaparız.
Class MyModel : IEquatable<MyModel>
{
public bool Equals(MyModel other)
{
//your code to compare for equity here
}
}
Equals metodu
İmzası şöyledir.
public bool Equals(T other)
Bu metodu yazınca Object nesnesinden gelen Equals ve GetHashCode metodunu da kodlamak gerekir. Şöyle yaparız.
// Override of Object.Equals
// Calls the IEquatable.Equals version if possible.
public override bool Equals( object obj )
{
return (obj is MyModel) && this.Equals(obj as MyModel);}
public override int GetHashCode()
{
return (this.someInt * 17) ^ this.someDecimal.GetHashCode();
}
Hiç yorum yok:
Yorum Gönder