C# 如何从另一个事件调用事件

C# 如何从另一个事件调用事件,c#,events,event-handling,C#,Events,Event Handling,我有一个类似于静态私有void HandleClientEventCB(SPD.SPD\u eventType,SPD.SPD\u event this\u event,object passback)的事件在一个类公共类sputserver中,我需要在另一个事件之外调用此事件 这里的“**SPD_eventType**”是不同项目下的枚举,这意味着“名称空间Spo.SPDlib”和“公共类SPD”,这里该枚举的值是SPD_clientEvent=5 和SPD.SPD_event是一个类似于pu

我有一个类似于
静态私有void HandleClientEventCB(SPD.SPD\u eventType,SPD.SPD\u event this\u event,object passback)的事件
在一个类
公共类sputserver
中,我需要在另一个事件之外调用此事件 这里的“
**SPD_eventType**
”是不同项目下的枚举,这意味着“
名称空间Spo.SPDlib
”和“
公共类SPD
”,这里该枚举的值是SPD_clientEvent=5

SPD.SPD_event
是一个类似于
public struct SPD_event
的结构,并且回传值为空

所以我在如下所示的外部活动中这样打电话

sputserver.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_客户端事件,Spo.SPDlib.SPD.SPD_事件,对象回传)


但它抛出了类似“无效表达式术语‘object’”的错误。我不确定其他两个参数是什么。有人能在这里指导我吗?

在您的通话中,您需要删除单词Object

因此:

或投下它:

SPURTServer.HandleClientEventCB(Spo.SPDlib.SPD.SPD_eventType.SPD_clientEvent,
    Spo.SPDlib.SPD.SPD_event,
    (object)passback);
假设passback是调用范围内的有效对象

编辑:基于以下评论:

您所做的是传递事件的类型,而不是事件本身的实例

SPD_事件是数据的定义,但您已经创建了它的实例

你需要做点什么

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

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

但是现在我发现错误“Spo.SPDlib.SPD.SPD_事件”是一个“类型”,在给定的上下文中无效,这可能是因为Spo.SPDlib.SPD.SPD_事件不是类的实例,它只是类本身。您需要有一个实际的事件,而不仅仅是事件类型。如果您可以围绕此问题行发布整个方法,这可能会有所帮助。SPD_事件是一个类似于公共结构的结构,它将承载数据。如果您需要更多的数据,SPD_事件是一个结构,它将承载大约11个值
var newEvent = new Spo.SPDlib.SPD.SPD_event();
newEvent.WhatEverProperties = whatNeedsToBeSet;

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