Prvním příkazem této 'Sub New' by mělo být explicitní volání 'MyBase.New' nebo 'MyClass.New', protože konstruktor '<constructorname>' v základní třídě '<baseclassname>' v odvozené třídě '<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 direktivou, která ji považuje za upozornění.

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.

Ve výchozím nastavení je tato zpráva upozorněním, protože ObsoleteAttribute má vlastnost False. Informace o skrytí upozornění nebo zpracování upozornění jako chyb naleznete v tématu Konfigurace upozornění v jazyce Visual Basic.

ID chyby: BC41003

Oprava této chyby

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