Очень хочется все элементы снеговика поместить в один массив. Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков... Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив! После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом. А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
Дата отправки отчёта:
14 мая 2017 г.
Задание выполнено: за
15 мин.
Чему научился:
Пока еще толком ничего, 50% реализовано.
Что было сложным:
Ничего.
Комментарии:
Отрисовка линни должна получать на вход массив типа shape, который содержит другие массивы разных типов. При помощи switch case. Правда я попробовал и что-то не очень оно хочет работать.
switch (shape.GetType()) { case Line: graph.DrawLine(...);; } typeof тоже не работает.
GetType() вернет объект типа Type. Тогда по идее ты должен в case делать сравнение с typeoff(Line). Но в case ты можешь сравнивать только константные значения, а typeoff(Line) будет вычисляться динамически, во время выполнения. Поэтому в switch лучше указать shape.GetType().Name, что тебе вернет имя класса, а оно константное и соответственно в case "Line".
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.