![]() |
|
Другие темы раздела | |
C# Не удается присвоить значение члену переменная "in Some", так как это переменная только для чтения
https://www.cyberforum.ru/ csharp-beginners/ thread2407312.html namespace CSrharpApplicationTest { public struct Some { public int x; } public class Program { public static void Method(in Some variable) |
C# Контроль ввода исходных данных Доброго времени суток! Помогите с кодом. Есть приложение на c#. Приложение работает в режиме диалога с пользователем. Пользователь вводит десятичное действительное число (которое записывается в... |
C# List.ForEach vs foreach производительность? Что лучше использовать в плане производительности List.ForEach или foreach(var ... in ...)? C# .net core, перебор идёт из Microsoft.EntityFrameworkCore.DbSet<Infos>. |
C# Отсоединение потока от одного события и присоединить к другому событию Здраствуйте как можно сделать такое, у меня есть массив из DispatcherTimer к каждому инедксу привязано событие. Я хочу определённый поток взять отсоединить от текущего события и присоединить этому же... https://www.cyberforum.ru/ csharp-beginners/ thread2407183.html |
C# Что значит этот код и как его можно адаптировать в С#?
https://www.cyberforum.ru/ csharp-beginners/ thread2407173.html class Node { public: union { struct { Node *pLeft, *pRight; }; Token tkn; } u; Node() { u.pLeft = u.pRight = NULL; } void Print(int level, const char *ps) { |
Убрать из списка классовых объектов те, в которых string_ равно "abcdefgh" C# Есть класс: class MyClass { string string_; int n; MyClass(string new_string, int new_n) { string_ = new_string; n = new_n; |
Найти максимальный элемент очереди за О(1) C# Как можно найти максимальный элемент очереди на односвязных списках за О(1)? Или можно ли как-то сделать это со стандартными очередями? Максимальное кол-во элементов в очереди известно заранее. |
C# Использование объектов DateTime Здравствуйте, уважаемые форумчане. Хочу сделать программу использующую объекты DateTime. Вообщем программа напоминает от предстоящих днях рождений, в виде уведомлений. Подскажите, как можно... https://www.cyberforum.ru/ csharp-beginners/ thread2407148.html |
C# Разделение
https://www.cyberforum.ru/ csharp-beginners/ thread2407139.html Есть метод который считывает сообщения из черновика, а затем при появлении кода на сайте отправляет их на указанный мейл. Нужно сделать так, чтобы Подготовка сообщений проходила в одном методе, а... |
C# Как считать байты с файла, не открывая его Как считать байты с файла(определенное количество), не открывая его https://www.cyberforum.ru/ csharp-beginners/ thread2407110.html |
![]() 14697 / 11111 / 2919
Регистрация: 17.09.2011
Сообщений: 18,650
|
|
21.02.2019, 10:16 | 0 |
Почему для событий нельзя использовать оператор =?21.02.2019, 10:16. Просмотров 1858. Ответов 10
Метки (Все метки)
![]() Решение
Потому что событие — это реализация паттерна "Наблюдатель" на уровне языка.
Наблюдаемый класс должен иметь полный контроль над списком наблюдателей, наблюдатели же не должны никак влиять на других наблюдателей. Если разрешить оператор присваивания, то сторойнний класс может удалить всех остальных наблюдателей, присвоив событию значение null, что нарушает паттерн. По той же причине событие не может вызвать никто кроме класса, в котором оно объявлено. Любой делегат — коллекция делегатов. Вернуться к обсуждению: Почему для событий нельзя использовать оператор =?
2
|
|
21.02.2019, 10:16 | |
Почему нельзя использовать метод ReadAllLines? Почему нельзя использовать пользовательские преобразования в данных случаях? Почему если не использовать бинарный оператор, то выдаст ошибку? В каких случаях нельзя обойтись без событий? |
|