"MustOverride" nelze zadat pro< procedurename>, protože je v částečném typu, který je deklarován 'NotInheritable' v jiné částečné definici.

Procedura nebo vlastnost je deklarována jako MustOverride v rámci třídy, která je definována v několika částečných deklarací, ale jedna z částečných definic určuje NotInheritable pro třídu.

Když rozdělíte definici třídy mezi několik částečných deklarací, kompilátor považuje třídu za sjednocení všech jeho částečných deklarací. To platí nejen pro členy, ale také pro implementaci, dědičnost a úroveň přístupu.

Chcete-li přepsat proceduru nebo vlastnost, třída ji musí dědit ze základní třídy. Proto chcete-li zadat MustOverride proceduru nebo vlastnost v základní třídě, je nutné zadat MustInherit pro třídu. Vzhledem k tomu, že jsou vzájemně v rozporu, nemůžete zadat obě MustInherit a NotInheritable pro stejnou třídu.

ID chyby: BC30927

Oprava této chyby

  • Pokud je nutné vlastnost nebo proceduru přepsat, odeberte NotInheritable klíčové slovo z částečné deklarace, ve které se zobrazí.

  • Pokud třída musí být NotInheritable, pak odeberte MustOverride klíčové slovo z procedury nebo vlastnosti. Nemůžete ji přepsat, protože nemůžete dědit třídu.

Viz také