Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
C# Олимпиада из Простоквашино
Скидка на Комбинаторику

Демо софт / Средняя оценка

  • На этом уроке мы узнаем секрет гениального интерфейса.
    Для этого программа должна быть максимально простой и удобной.
    Желающие смогут потренироваться в использовании делегатов.

    Задание:
    Написать программу для вычисления средней оценки.
  • Дата отправки отчёта: 12 марта 2015 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Изучил начальные принципы работы с делегатами.
  • Что было сложным: Сложностей не возникло.
  • Комментарии: Вопросов нет, отличный урок.
  • Оценка видео-уроку:
Отчёт от 4394 за Демо софт / Средняя оценка




Оцени работу

 
Сохранить страницу:


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Закрепил знания о делегатах а также переделал обработку события после нажатия кнопок для добавления оценок.
Трудности: Когда решил изменить обработку события клика по кнопках то столкнулся с проблемой приведения типа string в int которую успешно решил
Благодарен Евгению Витольдовичу за урок а также Google с помощью которого я переделал обработку события нажатия кнопки оценками. С радостью поделюсь этим кодом: 1. Создаем функцию: private void button_Click(object sender, EventArgs e) { note.AddNote(int.Parse((sender as Button).Tag.ToString())); } 2. Добавляем в поле Tag каждой кнопки цифру соответствующий оценке. 3. Устанавливаем в обработку события Click каждой кнопки функцию button_Click.
Научился: 1 Узнал новый контрол tooltip. Думал он работает как обычный контрол и его надо 2 раза добавить к лейблам, а оказывается оно несколько иначе делается. Я бы не догадался. 2 Узнал про сетку разметки, аналог тегу div. 3. Самое интересное было про делегатов.
Трудности: Синтаксис делегатов. В этот раз прога не потребовала самостоятельного допила нужных функций или переделки под мои условия. Поэтому за час управился.
Синтаксис несколько сложный на первый взгляд. И напоминает это Callback что ли. В классе note.cs надо было писать так. delegate_show_notes show_notes; public Note(delegate_show_notes _show_notes) { this.show_notes = _show_notes; Clear(); } С подчеркиванием, чтобы было понятно какая переменная к чему относится. Хотя конечно студия сама подсвечивает, но все равно для первого раза вообще каша в голове от этих названийо динаковых. Еще непонятно, почему в классе есть упоминание делегата delegate_show_notes show_notes; А потом в основном файле мы его определяем. private void show_notes(string avg, string qty) { label_avg.Text = avg; label_qty.Text = qty; } Нарушается логика. По идее из готового класса надо и вызывать готовый делегат, как и другие методы того класса. До этого урока я делегаты представлял себе несколько по-другому. Там еще оператор += должен быть.