Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2013, 23:20   #1
Dezmont_
Пользователь
 
Регистрация: 15.02.2009
Сообщений: 15
По умолчанию События в C#, проброс

Такой вопрос, что то я ничего похожего не нашел.
Есть класс А, в нем вызывается класс B, подписанный на события класса С.
Как класс А подписать на события класса С?
Dezmont_ вне форума Ответить с цитированием
Старый 06.09.2013, 00:20   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Dezmont_, не уверен, что Вы верно сформулировали свой вопрос, но если у Вас там просто классы, и события именно класса (т.е. статические), то просто берёте и подписываете, при этом абсолютно не важно, что и из чего вызывается, т.к. доступ к статическим полям есть будет и у класса A и у класса B.
mMAg вне форума Ответить с цитированием
Старый 06.09.2013, 09:57   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

ОБъект/экземпляр класса A подписываем (даём свой метод) на событие экземпляра С
Код:
Cobj.SomeEvent += Aobj.SomeObjMethod;
или статический метод класса А
Код:
Cobj.SomeEvent += A.SomeStaticMethod;
для класса С со статическим событием поступаем аналогично
phomm вне форума Ответить с цитированием
Старый 06.09.2013, 11:01   #4
Dezmont_
Пользователь
 
Регистрация: 15.02.2009
Сообщений: 15
По умолчанию

Код:
class A
{
	public A()
	{
		B classB=new B();
		//И вот тут бы привязать к событию 
	}
}
class B
{
	public B()
	{	C classC=new C();
		classC.onEvent+=delegate(){//Действие};}
	}
class C//В моем случае это библиотека
{
}
Вот как то так
Dezmont_ вне форума Ответить с цитированием
Старый 06.09.2013, 20:42   #5
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Dezmont_, по этому коду понятно, что у Вас проблемы не с подпиской на события, а с областю видимости. Однозначный ответ на заданный Вами вопрос: никак. В конструкторе создаётся локальная! переменная, на события которой вы что-то там подписываете. И сразу по завершении работы конструктора Ваша подписка также теряет смысл, т.к. объект уже недоступен.
mMAg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События UtyOmOk C# (си шарп) 11 07.01.2019 11:51
Проброс портов _PROGRAMM_ Компьютерное железо 6 04.10.2012 22:41
проброс значения на другую форму alexander1111 БД в Delphi 2 18.03.2012 18:37
Проброс портов в vmware workstarion 8 tirael8 Операционные системы общие вопросы 1 01.12.2011 23:03
События в WPF. Обращение к компонентам формы из события Casper-SC Общие вопросы .NET 3 25.07.2010 19:03