C# 网络和函数/ctor 签名
嗨,我想知道有哪些可能的方法可以让我的程序像这样工作:
1)服务器发送命令(即函数名称/对象创建者+参数) 2)客户端解码这是什么命令 - 使用函数 id 等的一些哈希表
问题是 - 如果我知道该命令是创建 objectX 并且 objectX 构造函数需要两个参数 - 例如 int Z 和 float Y。
现在我知道我必须创建 objectX,但如何知道我必须读入哪些参数才能构造它?我正在寻找快速的方法来做到这一点,同时也使垃圾产生量保持在非常低的水平。
一种方法是为每个功能或角色设置一个大案例,但我不太喜欢“uber switch”方法。
有什么想法吗?
Hi i was wondering what would be some of possible ways to get my program working like this:
1) Server sends command (that is function name/ object creator + arguments)
2) Client decodes what command is this - using some hash table of function id's etc
Problem is - if i know that the command is to create objectX and objectX constructor takes two arguments - for example int Z and float Y.
Now i know i must create objectX, but how do know what arguments i must read in to construct it? Im looking for fast ways to do this, also so that garbage generation is kept very low.
One way would be to just have one big case for each function or ctor, but im not big fan of "uber switch" approaches.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 Activator.CreateInstance 来完成此操作。它有一个接受
Type
和对象数组的构造函数。这应该适合你的需要。在这里阅读更多相关信息:http://msdn.microsoft。 com/en-us/library/system.activator.createinstance.aspxYou can do it with
Activator.CreateInstance
. It has a constructor that takes aType
and an array of objects. That should fit your neeeds. Read more about it here: http://msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx像 StructureMap 或 Ninject 这样的依赖注入器会有帮助吗?
http://structuralmap.sourceforge.net/QuickStart.htm
http://ninject.org/
Would a dependency injector like StructureMap or Ninject help?
http://structuremap.sourceforge.net/QuickStart.htm
http://ninject.org/