La primera instrucción de este 'Sub New' debe ser una llamada explícita a 'MyBase.New' o a 'MyClass.New' porque el constructor '<nombre de constructor>' de la clase base '<nombre de clase base>' de '<nombre de clase derivada>' está marcado como obsoleto: '<mensaje de error>'

Un constructor de clase no llama explícitamente a un constructor de clase base y el constructor de la clase base implícita está marcado con el atributo ObsoleteAttribute y la directiva de 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 en la clase base un constructor accesible al que se puede llamar sin argumentos, Visual Basic no puede generar una llamada implícita. En este caso, el constructor necesario está marcado con el atributo ObsoleteAttribute, por lo tanto, Visual Basic no puede llamarlo.

Para indicar que un elemento de programación ya no está en uso, puede marcarlo aplicándole ObsoleteAttribute. Si hace esto, podrá establecer la propiedad IsError del atributo en True o False. Si la establece en True, el compilador tratará como un error los intentos de utilizar el elemento. Si la establece en False, o deja el valor predeterminado False, el compilador emitirá una advertencia cuando se intente utilizar el elemento.

Identificador de error: BC30920

Para corregir este error

  1. Examine el mensaje de error y adopte las medidas oportunas.

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

Vea también

Referencia

Atributos (C# y Visual Basic)