C # Сеть и функции / ctor подписи - PullRequest
0 голосов
/ 04 декабря 2009

Привет, мне было интересно, каковы некоторые из возможных способов заставить мою программу работать так:

1) Сервер отправляет команду (то есть имя функции / создатель объекта + аргументы) 2) Клиент декодирует, что это за команда - с использованием некоторой хеш-таблицы идентификаторов функций и т. Д.

Проблема в том, что если я знаю, что команда состоит в создании objectX, а конструктор objectX принимает два аргумента - например, int Z и float Y.

Теперь я знаю, что должен создать objectX, но как узнать, какие аргументы я должен прочитать, чтобы создать его? Я ищу быстрые способы сделать это, также, чтобы выработка мусора была очень низкой.

Одним из способов было бы просто иметь один большой регистр для каждой функции или ctor, но я не большой поклонник подходов "Uber Switch".

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 04 декабря 2009

Вы можете сделать это с Activator.CreateInstance. Он имеет конструктор, который принимает Type и массив объектов. Это должно соответствовать вашим потребностям. Подробнее об этом здесь: http://msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx

0 голосов
/ 04 декабря 2009

Может ли помочь такой инжектор зависимостей, как StructureMap или Ninject?

http://structuremap.sourceforge.net/QuickStart.htm

http://ninject.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...