Perché ridefinire == in una struct al posto di Equals

Faccio riferimento al mio vecchio post:

public static operator

dove ho decompilato la ridefinizione degli operatori == e !=

Ridefinendo l’operatore == C# crea un metodo apposta che riceve parametri del tipo richiesto, nello specifico caso di una struct si tratterà (probabilmente) di due oggetti “ValueType”. Cosa cambia rispetto a ridefinire Object.Equals?

1)      In Object.Equals dovremmo controllare il tipo del parametro che riceviamo.

2)      Se il parametro passato è una struct viene effettuata un’operazione di boxing!

 

Print | posted on mercoledì 6 ottobre 2004 19:51

Comments have been closed on this topic.