Добавление введеных переменных в стек

Нужно создать стек в котором хранится ссылка на тип ISolid - объект класса ....Generic.Stack, и создать через ссылку на тип ISolid по одному объекту классов Cube и RectSolid, и добавить их в стек. Возможно я неправильно записал в коде ссылку на тип ISolid и неправильно понял задачу. Просьба поправить в таком случае.

using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;

namespace LAB_5
{
    interface ISolid
    {
        double GetSurfaceArea();
    }

    class Cube : ISolid
    {
        double a;
        public Cube(double a)
        {
            this.a = a;
        }
        public double GetSurfaceArea()
        {
            return 6 * a * a;
        }
        double A { get { return a; } set { a = value; } }
    }

    class RectSolid : ISolid
    {
        double c, d, h;
        public RectSolid(double c, double d, double h)
        {
            this.c = c;
            this.d = d;
            this.h = h;
        }
        public double GetSurfaceArea()
        {
            return 2 * (c * d + c * h + d * h);
        }

        double C { get { return c; } set { c = value; } }
        double D { get { return d; } set { d = value; } }
        double H { get { return h; } set { h = value; } }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Stack<ISolid> st = new Stack<ISolid>();

            double a = Console.Read();
            double c = Console.Read();
            double h = Console.Read();
            double d = Console.Read();

            Cube cb = new Cube(a);
            RectSolid rs = new RectSolid(c, d, h);

            st.Push(cb);
            st.Push(rs);
        }
    }
}

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