【发布时间】:2013-08-03 16:53:38
【问题描述】:
我正在编写服务器代码,并且已与所有客户端建立 TCP 连接。 现在,当客户端发送数据包时,我会检查数据包的操作码以便处理它。
目前,我有一个 OpcodeHandler 结构,该结构当前包含 String name,但我还希望它有一个 C++ 类型的函数指针,该指针调用另一个函数,这样当我创建一个以该结构为类型的数组时,我像这样初始化数组:
opcodes = new OpcodeHandler[max_opcodes]
{
new OpcodeHandler("someopcodenamehere", Somefunctionname);
// more new's..
}
在构造函数的第二个参数中命名的函数:'Somefunctionname' 在调用函数指针时被调用。 我听说委托可以做到这一点,因为它们的行为就像 C++ 中的函数指针,但我所有的尝试都是无用的。
【问题讨论】:
-
函数的签名是什么?
-
一个 void 返回类型,有一个参数:(数据包数据)
标签: c# arrays function struct delegates