Prvním příkazem tohoto 'Sub New' musí být explicitní volání 'MyBase.New' nebo 'MyClass.New', protože konstruktor '<constructorname>' v základní třídě '<baseclassname>' odvozené třídy '<derivedclassname>' je označený jako zastaralý.

Konstruktor třídy explicitně nevolá konstruktor základní třídy a implicitní konstruktor základní třídy je označen atributem ObsoleteAttribute a směrnicí, která ji považuje za chybu.

Pokud konstruktor odvozené třídy nevolá konstruktor základní třídy, Visual Basic se pokusí vygenerovat implicitní volání konstruktoru základní třídy bez parametrů. Pokud není v základní třídě žádný přístupný konstruktor, který lze volat bez argumentů, Visual Basic nemůže vygenerovat implicitní volání. V tomto případě je požadovaný konstruktor označen atributem ObsoleteAttribute , takže Visual Basic jej nemůže volat.

Libovolný programovací prvek můžete označit jako nepoužívané tak, že na něj použijete ObsoleteAttribute . Pokud to uděláte, můžete vlastnost atributu IsError nastavit na buď True nebo False. Pokud jej nastavíte na True, kompilátor považuje pokus o použití elementu jako chybu. Pokud ji nastavíte na Falsehodnotu nebo ji necháte ve výchozím nastavení False, kompilátor vydá upozornění, pokud se pokusíte použít prvek.

ID chyby: BC30919

Oprava této chyby

  • Zahrňte volání MyBase.New() nebo MyClass.New() jako první příkaz do Sub New v odvozené třídě.