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

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

public struct SPD_event
{
    public string applicationName;
    public string applicationQualifier;
    public object eventData;
    public string host;
    public string objectClass;
    public string objectName;
    public string senderTime;
    public string serverTime;
}

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

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

, но выдает ошибку:

'Spo.SPDlib.SPD.SPD_event'является «типом», который недопустим в данном контексте '

1 Ответ

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

Вместо Pass Spo.SPDlib.SPD.SPD_event должен создать экземпляр из структуры и передать экземпляр

var sd = new Spo.SPDlib.SPD.SPD_even();
// [Code]

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent,
    sd ,null);
...