我最近在一个dll调用上做了一些工作。该dll用于与com对象进行通信。在帮助文件中,这些示例是用Delphi编写的。有一个名为OnOperatorInfoMsg
的事件,首先调用一个方法命名为MethodA
,然后它引发事件,事件返回delphi中定义的内容:
OnOperatorInfoMsg = procedure(Sender: TObject; wOperatorCount: Integer; OperatorsInfo: Integer) of object;
通过dnspy,我发现事件被转换为C#就像这样:
public class OnOperatorInfoMsgEvent
{
public int wOperatorCount;
public int operatorsInfo;
public OnOperatorInfoMsgEvent(int wOperatorCount, int operatorsInfo);
}
和delphi中的OperatorsInfo定义如下:
OPINFO
OPINFO = record
wAgentID: WORD;
wSkillGroupID: WORD;
wWorkGroupID: WORD;
AgentStatus: AGENT_STATUS;
end;
如何从C#中获取OperatorsInfo中的wAgentID,wSkillGroupID,AgentStat?