Массив экземпляров разных классов

прошу помощи с возникшим вопросом. Единственный вариант, который я нашел, это через интерфейс.

Пример кода, 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()
        {

        }

    }
}

НО при этом ни одно поле / метод класса не доступны, кроме унаследованного от интерфейса метода.

Возможно ли создать массив экземпляров разных классов?


Ответы (0 шт):