Как вызвать событие из другого события - PullRequest
0 голосов
/ 19 июля 2011

У меня есть событие типа static private void HandleClientEventCB(SPD.SPD_eventType type, SPD.SPD_event this_event, object passback) в классе public class SPURTServer, мне нужно вызвать это событие вне другого события Здесь '**SPD_eventType**' - это перечисление в другом проекте, что означает 'namespace Spo.SPDlib' и 'public class SPD', здесь значение для этого перечисления равно SPD_clientEvent = 5,

и SPD.SPD_event - это структура, подобная public struct SPD_event, а значение возврата равно нулю.

Итак, я звонил так во внешнем событии, как показано ниже

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent, Spo.SPDlib.SPD.SPD_event,object passback);

но выдает ошибку типа "Недопустимый термин" объект "". Я не уверен насчет двух других аргументов. Кто-нибудь может направить меня сюда?

1 Ответ

2 голосов
/ 19 июля 2011

В вашем звонке нужно убрать слово Object.

так:

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent,
    Spo.SPDlib.SPD.SPD_event,
    passback);

или разыграйте:

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent,
    Spo.SPDlib.SPD.SPD_event,
    (object)passback);

Предполагая, что передача является допустимым объектом в области вызова.

Редактировать: на основе комментариев ниже:

То, что вы делаете, передает тип события, а не экземпляр самого события.

SPD_Event - это определение ваших данных, но вы создали его экземпляр.

Тебе нужно что-то вроде

var newEvent = new Spo.SPDlib.SPD.SPD_event();
newEvent.WhatEverProperties = whatNeedsToBeSet;

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent,
    newEvent,
    null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...