La primera instrucción de este 'Sub New' debe ser una llamada explícita a 'MyBase.New' o 'MyClass.New' porque el '<constructorname>' de la clase base '<baseclassname' de '>derivedclassname<>' está marcado como obsoleto.

Un constructor de clase no llama explícitamente a un constructor de clase base y el constructor de clase base implícito se marca con el ObsoleteAttribute atributo y la directiva para tratarlo como un error.

Cuando un constructor de clase derivada no llama a un constructor de clase base, Visual Basic intenta generar una llamada implícita a un constructor de clase base sin parámetros. Si no hay ningún constructor accesible en la clase base a la que se puede llamar sin argumentos, Visual Basic no puede generar una llamada implícita. En este caso, el constructor necesario se marca con el ObsoleteAttribute atributo , por lo que Visual Basic no puede llamarlo.

Puede marcar cualquier elemento de programación como que ya no esté en uso aplicando ObsoleteAttribute a él. Si lo hace, puede establecer la propiedad del IsError atributo en True o False. Si lo establece en True, el compilador considera un intento de usar el elemento como un error. Si lo establece en False, o permite que el valor predeterminado sea False, el compilador emite una advertencia si hay un intento de usar el elemento.

Identificador de error: BC30919

Para corregir este error

  • Incluya una llamada a MyBase.New() o MyClass.New() como la primera instrucción en la clase derivada Sub New.