Класс1 имеет событие с атрибутом [EventPublication ("event1")]. Class2 и Class3 наследуются от Class1.Подписка на события и наследование Opennetcf.IOC
Я хочу подписаться Method1 на событие в объекте из Class2 и Method2 на событие в объекте класса 3 с помощью [EventSubscription].
Но в производных классах существует одно и то же имя события EventPublication. Итак, как отличить события от производных классов? Является ли это возможным?
EDIT: Может быть, я неправильно некоторые очевидные вещи о IoC или я пытаюсь усложнить простое решение ... я попытаюсь прояснить мой вопрос. Вот какой-то код:
class BasePresenter
{
[EventPublication("event")]
public event Action action;
public void Run()
{
someAction();
if (action != null)
action();
}
protected virtual void someAction()
{
}
}
class Presenter1 : BasePresenter
{
protected override void someAction()
{
}
}
class Presenter2 : BasePresenter
{
protected override void someAction()
{
}
}
class AnotherClass
{
[EventSubscription("event", ThreadOption.Caller)]
public void action1()
{
System.Windows.Forms.MessageBox.Show("Presenter1 started");
}
[EventSubscription("event", ThreadOption.Caller)]
public void action2()
{
System.Windows.Forms.MessageBox.Show("Presenter2 started");
}
}
Есть методы action1() и action2() в другом классе. Я хотел бы запустить action1(), когда вызывается экземпляр метода Presenter1 Run() и срабатывает action2(), когда вызывается экземпляр метода Presenter2 Run(). Но вызов метода Run() приведет к срабатыванию обоих методов action1 и action2.
я добавил некоторые редактируют вопрос. – raV720