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!!
 

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

Preguntas similares