Beispiel #1
0
        static void Main(string[] args)
        {
            ReminderItem[] rm = new ReminderItem[3];
            rm[0] = new ReminderItem(DateTimeOffset.Parse("2019-09-01"), "Первый месяц осени");
            rm[1] = new PhoneReminderItem("123456", DateTimeOffset.Parse("2019-10-01"), "Второй месяц осени");
            rm[2] = new ChatReminderItem("Чат об осени", "dabramov", DateTimeOffset.Parse("2019-11-01"), "Третий месяц осени");

            foreach (ReminderItem ri in rm)
            {
                ri.WriteProperties();
                Console.WriteLine();
            }

            Console.ReadKey();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            ReminderItem[] rm = new ReminderItem[3];
            rm[0] = new ReminderItem(DateTimeOffset.Parse("2019-09-01"), "Первый месяц осени");
            rm[1] = new PhoneReminderItem("123456", DateTimeOffset.Parse("2019-10-01"), "Второй месяц осени");
            rm[2] = new ChatReminderItem("Чат об осени", "dabramov", DateTimeOffset.Parse("2019-11-01"), "Третий месяц осени");

            //foreach (ReminderItem ri in rm)
            //{
            //    ri.WriteProperties();
            //    Console.WriteLine();
            //}

            //демонстрация работы присваивания объекту базового класса
            //объектов производных классов
            ChatReminderItem CRI1 = new ChatReminderItem("Чат о зиме", "dabramov", DateTimeOffset.Parse("2019-12-01"), "Первый месяц зимы");
            //создаем копию, реально копию, а не другую ссылку на тот же объект
            ChatReminderItem CRI2 = new ChatReminderItem(CRI1);

            //вывод перед внесением изменением
            CRI1.WriteProperties();
            Console.WriteLine();
            CRI2.WriteProperties();
            Console.WriteLine();

            //вносим изменения
            CRI2.AlarmDate    = DateTimeOffset.Parse("2019-12-02");
            CRI2.AlarmMessage = "Второй месяц зимы";

            //вывод после внесения изменением
            CRI1.WriteProperties();
            Console.WriteLine();
            CRI2.WriteProperties();
            //в выводе видим, что изменились поля объекта CRI2, и неизменились поля объекта CRI1

            Console.ReadKey();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            DateTimeOffset dateTime;
            string         message, phoneNumber, chatName, accountName;

            Console.Write("Введите количество напоминаний:");
            long                amountOfReminders = long.Parse(Console.ReadLine());
            ReminderItem        reminder;
            List <ReminderItem> reminders    = new List <ReminderItem>();
            byte                reminderType = 0;

            for (int i = 0; i < amountOfReminders; i++)
            {
                Console.WriteLine($"Введите номер типа напоминания №:  {i + 1} " +
                                  "\n1 - обычное напоминание;" +
                                  "\n2 - напоминание для чата;" +
                                  "\n3 - напоминание для телефона");
                try
                {
                    reminderType = byte.Parse(Console.ReadLine());
                    switch (reminderType)
                    {
                    case 1:
                    case 2:
                    case 3:
                        break;

                    default:
                        throw new Exception("Выбран несуществующий тип напоминания!");
                    }
                    Console.Write($"Введите время напоминания №{i + 1}: ");
                    dateTime = DateTimeOffset.Parse(Console.ReadLine());
                    Console.Write($"Введите сообщение напоминания №{i + 1}: ");
                    message = Console.ReadLine();
                    switch (reminderType)
                    {
                    case 1:
                        reminder = new ReminderItem(message, dateTime);
                        reminders.Add(reminder);
                        break;

                    case 2:
                        Console.Write("Введите название чата: ");
                        chatName = Console.ReadLine();
                        Console.Write("Введите название аккаунта: ");
                        accountName = Console.ReadLine();

                        reminder = new ChatReminderItem(message, dateTime, chatName, accountName);
                        reminders.Add(reminder);
                        break;

                    case 3:
                        Console.Write("Введите номер телефона: ");
                        phoneNumber = Console.ReadLine();

                        reminder = new PhoneReminderItem(message, dateTime, phoneNumber);
                        reminders.Add(reminder);
                        break;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine($"Ошибка {e.Message}, попробуйте еще раз!");
                    i--;
                    continue;
                }
            }
            for (int i = 0; i < amountOfReminders; i++)
            {
                Console.WriteLine($"Напоминание №{i + 1}:");
                reminders[i].WriteProperties();
            }
        }