Sobreescribir metodo de una clase contenida en otra.

27/10/2003 - 13:26 por Jose Antonio | Informe spam
Hay alguna manera de poder sobreescribir un metodo de una clase que esta
contenida en otra?

Ejemplo:

Class Primaria{

Secundaria ejemplo=new Secundaria();

Metodo1{

Secundaria.Metodo();
}
}

Class Secundaria{

public virtual void Metodo{
}

}

Class AUtilizar : Primaria{

public override ejemplo : Metodo{
}

}

Es razonable lo que estoy diciendo?


Saludos
JoseAntonio
 

Leer las respuestas

#1 mickro
28/10/2003 - 03:21 | Informe spam
Claro, creo que puedes sobreescribir un metodo de una clase, siempre y
cuando este metodo sea virtual.

esto es lo que dice en el MSDN:
Utilice el modificador override para modificar un método, una propiedad, un
indizador o un evento. Los métodos de reemplazo proporcionan una nueva
implementación de un miembro heredado de una clase base. El método
reemplazado por una declaración override se conoce como método base
reemplazado. El método base reemplazado debe tener la misma firma que el
método de reemplazo.

No se puede reemplazar un método estático o no virtual. El método base
reemplazado debe ser virtual, abstract u override.

Una declaración override no puede cambiar la accesibilidad del método
virtual. Tanto el método de reemplazo como el método virtual deben tener el
mismo modificador de nivel de acceso.

No se pueden utilizar los siguientes modificadores para modificar un método
de reemplazo:

new static virtual abstract

Una declaración de propiedad de reemplazo debe especificar el mismo
modificador de acceso, tipo y nombre que la propiedad heredada, y la
propiedad reemplazada debe ser virtual, abstract u override.

Para obtener más información acerca del acceso a los miembros de una clase
base, vea 7.5.8 Acceso base.

Para obtener más información sobre cómo reemplazar métodos, vea 10.5.4
Métodos de reemplazo.





saludos

Mickro

"Jose Antonio" escribió en el mensaje
news:%
Hay alguna manera de poder sobreescribir un metodo de una clase que esta
contenida en otra?

Ejemplo:

Class Primaria{

Secundaria ejemplo=new Secundaria();

Metodo1{

Secundaria.Metodo();
}
}

Class Secundaria{

public virtual void Metodo{
}

}

Class AUtilizar : Primaria{

public override ejemplo : Metodo{
}

}

Es razonable lo que estoy diciendo?


Saludos
JoseAntonio


Preguntas similares