Возможно ли дать доступ к event в другой dll?
Пример :
DC4_API.Hooks.cs
public static event PlayerApprovalDelegate OnPlayerApproval;
public delegate void PlayerApprovalDelegate(PlayerApprovalEvent e);
DC4_CORE.Call.cs
public static void PlayerApproval()
{
if (DC4_API.Hooks.OnPlayerApproval != null)
{
DC4_API.Hooks.OnPlayerApproval(ape);
}
}
Но получаю ошибку - может возможно вызвать из другой dll
Событие "Hooks.OnPlayerApproval" может находиться только в левой части операции += или -=
DLL здесь ни при чем. Событие нельзя вызвать из другого класса, можно только подписаться/отписаться, о чем и говорит ошибка.
Чтобы подписаться на событие используйте +=
:
DC4_API.Hooks.OnPlayerApproval += ...метод, соответствующий PlayerApprovalDelegate
Для того чтобы вызвать событие извне придется изменять код в DC4_API.Hooks.cs
, а именно создать метод, который будет его вызывать:
public void PerformPlayerApproval()
{
OnPlayerApproval(...какие-то аргументы);
}
затем обратиться к этому методу из DC4_CORE.Call.cs
:
DC4_API.Hooks.PerformPlayerApproval();
Нет.
Event'ы может вызывать только класс, который их содержит. Если вам нужно, чтобы код из другого класса отправлял event, сделайте в классе, содержащем event, публичный метод, который будет отправлять event, и который другой класс сможет вызвать.
Дополнительное чтение по теме: Event и delegate: в чем отличие?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть проблема с выполнением параметризованного запроса в c#Вот мой код:
Предположим, есть коллекция вида List<string>, в ней очень большое число записейПользователь должен начинать вводить слово, а программа должна...
вот есть у меня список в xml файле, я по нему прохожусь и вывожу в textbox, но что если нужно добавить/удалить элемент в xml файле? как через код это...
Споткнулся в самом начале, не могу инициализировать список, видимо из-за того что список неизменяемый Как с ним работать? Как присвоить ему...