warning

30/06/2004 - 18:36 por Anonimo | Informe spam
hola!

tengo este fragmeno de codigo:


Imports System

Public Class Prueba
Public Shared Sub Main()
Dim a As A
a = new B
a.M
a.M(1)
End Sub
End Class

Public Class A
Public Overridable Sub M()
Console.WriteLine("A.M")
End Sub
Public Overridable Sub M(ByVal x As Int32)
Console.WriteLine("A.M con parámetro")
End Sub
End Class

Public Class B
Inherits A
Public Overrides Sub M()
Console.WriteLine("B.M")
End Sub
End Class


cuando lo compilo me da este warning:


warning BC40003: sub 'M' prevalece sobre un miembro que se
puede sobrecargar declarado en la base class 'A'. Si desea
sobrecargar el método base, este método se debe declarar
como 'Overloads'.

Public Overrides Sub M()
~

El tema es que no quiero utilizar Overloads que no me
arroja el warning sino justamente Overrides

Ahora bien, si quito la declaracion del metodo M con
parametros de la clase A (y la llamada al metodo) no me
arroja el warning...

¿Alguien sabe que significa el warning?

gracias!!

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
30/06/2004 - 19:23 | Informe spam
El tema es que no quiero utilizar Overloads que no me
arroja el warning sino justamente Overrides

Ahora bien, si quito la declaracion del metodo M con
parametros de la clase A (y la llamada al metodo) no me
arroja el warning...

¿Alguien sabe que significa el warning?



Como M esta sobrecargado debes usar Overrides y Overloads en la clase hija:

Public Overloads Overrides Sub M()
...
End Sub

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#2 Anonimo
30/06/2004 - 20:35 | Informe spam
muchas gracias!!

si se no especificara el Overloads adicional... ademas del
warning ¿cambiaria en algo el funcionamiento?

El tema es que no quiero utilizar Overloads que no me
arroja el warning sino justamente Overrides

Ahora bien, si quito la declaracion del metodo M con
parametros de la clase A (y la llamada al metodo) no me
arroja el warning...

¿Alguien sabe que significa el warning?



Como M esta sobrecargado debes usar Overrides y Overloads


en la clase hija:

Public Overloads Overrides Sub M()

End Sub

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida