Массив экземпляров разных классов
прошу помощи с возникшим вопросом. Единственный вариант, который я нашел, это через интерфейс.
Пример кода, main,
using Example;
ITest[] tst = new ITest[5];
tst[0] = new ClassA("Oleg", "Popov", 21 );
tst[1] = new ClassB("Dostoevsky", "Brothers Karamazov");
tst[2] = new ClassC("Passenger car", "Tesla", "2021");
tst[0].InterfaceMethod();
Интерфейс
namespace Example
{
internal interface ITest
{
public void InterfaceMethod();
}
}
Класс
namespace Example
{
internal class ClassA : ITest
{
private string _name;
private string _surname;
public int Age;
public static string staticTest = "";
public ClassA(string name, string surname, int age)
{
_name = name;
_surname = surname;
Age = age;
}
public void InterfaceMethod()
{
}
public void TestMethod()
{
}
}
}
НО при этом ни одно поле / метод класса не доступны, кроме унаследованного от интерфейса метода.
Возможно ли создать массив экземпляров разных классов?