Pierwsza instrukcja w tym elemencie "Sub New" musi być jawnym wywołaniem "MyBase.New" lub "MyClass.New", ponieważ konstruktor "<constructorname>" w klasie bazowej "<baseclassname>" z klasy pochodnej "<derivedclassname>" jest oznaczony jako przestarzały.

Konstruktor klasy nie wywołuje jawnie konstruktora klasy bazowej, a niejawny konstruktor klasy bazowej jest oznaczony atrybutem ObsoleteAttribute i dyrektywą, aby traktować to jako błąd.

Gdy konstruktor klasy pochodnej nie wywołuje konstruktora klasy bazowej, program Visual Basic próbuje wygenerować niejawne wywołanie konstruktora bez parametrów klasy bazowej. Jeśli w klasie bazowej nie ma dostępnego konstruktora, który można wywołać bez argumentów, program Visual Basic nie może wygenerować wywołania niejawnego. W takim przypadku wymagany konstruktor jest oznaczony za pomocą atrybutu ObsoleteAttribute , więc program Visual Basic nie może go wywołać.

Możesz oznaczyć dowolny element programowania jako już nieużywany, stosując ObsoleteAttribute. Jeśli to zrobisz, możesz ustawić właściwość atrybutu IsError na wartość True lub False. Jeśli ustawisz go na True wartość, kompilator traktuje próbę użycia elementu jako błąd. Jeśli ustawisz go na False albo pozwolisz, aby domyślnie było False, kompilator wyświetli ostrzeżenie, jeśli podejmiesz próbę użycia elementu.

Identyfikator błędu: BC30919

Aby naprawić ten błąd

  • Dołącz wywołanie metody MyBase.New() lub MyClass.New() jako pierwszą instrukcję Sub New klasy pochodnej.