3 votes

Le comportement pour == peut-il être défini pour une référence d'interface ?

Si une interface hérite de IEquatable, la classe qui l'implémente peut définir le comportement de la méthode Equals. Est-il possible de définir le comportement des opérations == ?

public interface IFoo : IEquatable  
{}  

public class Foo : IFoo  
{  
    // IEquatable.Equals  
    public bool Equals(IFoo other)  
    {  
        // Compare by value here...
    }  
}

Pour vérifier que deux références IFoo sont égales en comparant leurs valeurs :

IFoo X = new Foo();  
IFoo Y = new Foo();

if (X.Equals(Y))  
{  
     // Do something  
}

Est-il possible de faire if (X == Y) utiliser la méthode Equals sur Foo ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X