Ваш пример не скомпилируется, вы можете рассмотреть что-то вроде этого:
using System;
public abstract class A
{
protected A()
{
Console.WriteLine("Constructor A() called");
}
public void Display()
{
Console.WriteLine("A.Display() called");
}
}
public class B:A
{
public void UseDisplay()
{
Display();
}
}
public class Program
{
static void Main()
{
B b = new B();
b.UseDisplay();
Console.ReadLine();
}
}
Выход:
Constructor A() called
A.Display() called
Примечание: создание нового B () неявно вызывает A (); Я должен был сделать конструктор A защищенным, чтобы предотвратить эту ошибку:
«A.A ()» недоступен из-за уровня защиты »