Size: a a a

2019 September 13

Y

Yasik in CODE BLOG / C#
источник

SB

Sergey Benzenko in CODE BLOG / C#
this.
Всем добрый день)
Поймал дикий тупняк на событиях
Хоть убейте не понимаю в чем разница между событием и делегатом
Возможно у кого-то есть более понятные примеры чем я встречал прежде
Разница как между свойством класса и переменной. Делегат - это как бы переменная (обозначающая действие). Событие - это свойство класса, хранящее в себе делегат, который может быть вызван при определённых обстоятельствах, например, из других методов. К примеру, есть метод Change, в коде которого вызывается событие OnChanged. А что конкретно будет выполнено при вызове этого события определяет делегат, присвоенный этому событию.
источник

SB

Sergey Benzenko in CODE BLOG / C#
*Ну да, там чуть сложнее, чем просто с переменными из-за того, что одному событию можно присвоить (подписать) целую цепочку делегатов через +=.
источник

S

Supernic3 in CODE BLOG / C#
Event может быть вызван только из класса, в котором объявлен
Event нельзя объявить как локальную переменную
источник

S

Supernic3 in CODE BLOG / C#
Пожалуй, это основное отличие
источник

Y

Yasik in CODE BLOG / C#
Насколько я понял, то событие дает возможность подписываться и отписываться от события, при этом инкапсулируя сам делегат, тобеж получить делегат из класса не выйдет и изменить его не выйдет
Только подписаться и отписаться
источник

t

this. in CODE BLOG / C#
Как часто вы пользуетесь событиями в реальных проектах?
источник

S

Supernic3 in CODE BLOG / C#
this.
Как часто вы пользуетесь событиями в реальных проектах?
Один раз использовал за 6 лет работы.
источник

t

this. in CODE BLOG / C#
Supernic3
Один раз использовал за 6 лет работы.
И на этом спасибо:)))
источник

SB

Sergey Benzenko in CODE BLOG / C#
this.
Как часто вы пользуетесь событиями в реальных проектах?
ПОЛЬЗУЮСЬ событиями постоянно. Другое дело, как часто создаю классы, в которых проектируются события - вот это да, редко, конечно. Может, тоже один или два раза.
источник

t

this. in CODE BLOG / C#
эхх
Ладно, буду разбираться, спасибо)
источник

SB

Sergey Benzenko in CODE BLOG / C#
this.
эхх
Ладно, буду разбираться, спасибо)
Может, поможет разобраться в событиях и подписке/отписке https://t.me/NetDeveloperDiary/16
Telegram
.NET Разработчик
День одиннадцатый. #ЗаметкиНаПолях
События.
С самого начала работы с формами ещё на Delphi, мне всегда было интересно, что это за магические параметры у вызова события нажатия на кнопку:
OnClick(Object sender, EventArgs e);
На самом деле это реализация паттерна проектирования «Наблюдатель». Если коротко, то у нас есть объект наблюдения (допустим система сообщений), и есть «наблюдатели», например, различные сервисы отправки сообщений: факс, смс, e-mail и т.п.
Паттерн состоит в следующем:
- наблюдатели подписываются на рассылку, передавая объекту делегат метода обратного вызова
- объект при возникновении нового события вызывает этот метод у всех подписанных наблюдателей, передавая в него «сообщение» - класс, наследуемый от EventArgs (e) и ссылку на себя (sender).

Рассмотрим, реализацию этого паттерна на С#:
1. Определяем тип сообщения, например, письмо:
class NewMailEventArgs : EventArgs {
 public string From {get; set;}
 public string To {get; set;}
 public string Message {get; set;}
}
2. В объекте наблюдения…
источник

t

this. in CODE BLOG / C#
Sergey Benzenko
Может, поможет разобраться в событиях и подписке/отписке https://t.me/NetDeveloperDiary/16
Telegram
.NET Разработчик
День одиннадцатый. #ЗаметкиНаПолях
События.
С самого начала работы с формами ещё на Delphi, мне всегда было интересно, что это за магические параметры у вызова события нажатия на кнопку:
OnClick(Object sender, EventArgs e);
На самом деле это реализация паттерна проектирования «Наблюдатель». Если коротко, то у нас есть объект наблюдения (допустим система сообщений), и есть «наблюдатели», например, различные сервисы отправки сообщений: факс, смс, e-mail и т.п.
Паттерн состоит в следующем:
- наблюдатели подписываются на рассылку, передавая объекту делегат метода обратного вызова
- объект при возникновении нового события вызывает этот метод у всех подписанных наблюдателей, передавая в него «сообщение» - класс, наследуемый от EventArgs (e) и ссылку на себя (sender).

Рассмотрим, реализацию этого паттерна на С#:
1. Определяем тип сообщения, например, письмо:
class NewMailEventArgs : EventArgs {
 public string From {get; set;}
 public string To {get; set;}
 public string Message {get; set;}
}
2. В объекте наблюдения…
Большое спасибо
источник

MG

M G in CODE BLOG / C#
Привет ребят.  Как можно проверить инициализирована ли int переменная? ни как не могу найти ответ
источник

S

Supernic3 in CODE BLOG / C#
M G
Привет ребят.  Как можно проверить инициализирована ли int переменная? ни как не могу найти ответ
В смысле "инициализирована"? 🙊
источник

S

Supernic3 in CODE BLOG / C#
int всегда инициализирован, если только это не System.Nullable
источник

R

Roman in CODE BLOG / C#
Console. Writelene
источник

R

Roman in CODE BLOG / C#
И выводишь переменную
источник

АГ

Александр Горелкин... in CODE BLOG / C#
M G
Привет ребят.  Как можно проверить инициализирована ли int переменная? ни как не могу найти ответ
Если ты ее обьявил
Значит она где-то есть
источник

MG

M G in CODE BLOG / C#
я в начале функции обявил int переменную. ну и там циклы гоняют.  и при одном условии в эту int переменную присваивается значение. Ну и в конце икла  есть логика  где нужно проверить эту int переменную, если у нее есть значение то делать чтото.  Час вот студия ругается что недостежимый код.
источник