Мы уже сталкивались несколько раз с классами измененными модификатором sealed. Давайте создадим класс с данным модификатором.
// CSharp dotnet Sample Code using System; using System.Windows.Forms; sealed class MyClass { } class MainForm : Form { public MainForm() { Text = "This is my form"; MyClass m = new MyClass(); } public static void Main(string[] args) { Application.Run(new MainForm()); } }
Все нормально собирается и компилируется. Но стоит нам попробовать наследование:
// CSharp dotnet Sample Code using System; using System.Windows.Forms; sealed class MyClass { } class NewClass : MyClass { } class MainForm : Form { public MainForm() { Text = "This is my form"; MyClass m = new MyClass(); } public static void Main(string[] args) { Application.Run(new MainForm()); } }
Как тут же мы получим ошибку:
Не могу унаследовать класс.