redefinir Equals

11/09/2003 - 22:21 por ErickGB | Informe spam
Estoy intentando redefinir el método Equals de la
clase primogenia System.Object en una clase Complejo que
tiene dos miembros:
private double parteReal;
private double parteImaginaria;

El código que tengo para la redefinir el método es:
public override bool Equal(Complejo objc)
{
if(objc == null)
return this == null;
if(this.parteReal == objc.parteReal) &&
(this.parteImaginaria == objc.parteImaginaria)
return true;
else
return false;
}

y me genera el error:
Complejo.Equals(Complejo) no suitable method found to
override (CS0115)

¿que estoy haciendo mal?
Además si quisiese redefinir tambien el método
ReferenceEquals como podría hacerlo...
 

Leer las respuestas

#1 Ricardo D. de Guzmán
11/09/2003 - 23:33 | Informe spam
El problema que estas teniendo por un lado es que Equal lleva uns "s" al
final ... el método es Equals.
Y por otro lado como Equals es un método Estático no tiene sentido hacer
Override, directamente tenes que reescribir el método para tu Clase en
particular, ya que para los métodos estáticos no existe el concepto de
polimorfismo.

Saludos
Ricky

"ErickGB" escribió en el mensaje
news:0e4c01c378a2$41f05390$
Estoy intentando redefinir el método Equals de la
clase primogenia System.Object en una clase Complejo que
tiene dos miembros:
private double parteReal;
private double parteImaginaria;

El código que tengo para la redefinir el método es:
public override bool Equal(Complejo objc)
{
if(objc == null)
return this == null;
if(this.parteReal == objc.parteReal) &&
(this.parteImaginaria == objc.parteImaginaria)
return true;
else
return false;
}

y me genera el error:
Complejo.Equals(Complejo) no suitable method found to
override (CS0115)

¿que estoy haciendo mal?
Además si quisiese redefinir tambien el método
ReferenceEquals como podría hacerlo...

Preguntas similares