powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Про наследование обработчиков событий
7 сообщений из 7, страница 1 из 1
Про наследование обработчиков событий
    #38542453
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь тут изобрести абстрактный класс для разных типов отчетов.
Сделал некий виртуальный метод
Код: c#
1.
protected Tuple<byte[], string, string> RenderReport()



В нем есть такое
Код: c#
1.
2.
3.
var localReport = new LocalReport { ReportPath = _reportLocalFullName, EnableExternalImages = true };
...
localReport.SubreportProcessing += localReport_SubreportProcessing;



Вот в этом самом localReport_SubreportProcessing потомки должны иметь возможность писать свой код.

Как правильно наследование тут применить, где что писать ?
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38542454
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже обычный, не виртуальный :)
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38542481
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

не очень понятно в каком контексте у тебя событие и кто "подписывается" на него, но проблемы не вижу:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
internal class Class1
	{
		public event Action Trololo;
		
		public virtual void Class1_Trololo()
		{
			//111
		}
		

	}

	internal class Class2 : Class1
	{
		public override void Class1_Trololo()
		{
			
		}
	}
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38542491
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этом же методе далее по коду есть строка localReport.Render(), и там дергается "подписка".
Вообще это все локальные дела, кроме того, что внутреннюю часть localReport_SubreportProcessing заполняют дочерние классы.

Вообще ты заставил задуматься. Наверно более логичным будет просто дать дочерним абстрактный метод, который будет вызываться внутри приватного localReport_SubreportProcessing. Да ?
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38542522
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

ну наверное. вопрос должен ли он быть абстрактным правда)
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38542526
tual
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
он уже есть и он виртуальный.
там по умолчанию будет return;
:)
...
Рейтинг: 0 / 0
Про наследование обработчиков событий
    #38544123
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tual,

Эвенты не предназначены для потомков класса - вызов всего что нужно прекрасно делается с помощью виртуальных методов (или абстрактных).

Назначение эвента - выполнение кода, который находится вообще вне типа, в других обьектах.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Про наследование обработчиков событий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]