Десериализацию пакета по сети, отправка System.Type или лучший способ? - PullRequest
0 голосов
/ 08 декабря 2018

В моем коде у меня есть класс пакета, который я отправляю по сети, внутри этой структуры пакета у меня есть переменная Type, которая находится внутри пакета, подобного следующему:

[Serializable]
struct Packet 
{
    Type packetType;
}

И затем на клиенте/ сервер Я могу десериализовать, выполнив следующее:

if(packet.packetType == typeof(ChatPacket))
{
    ChatPacket packet = packet as ChatPacket;
}

Это работает нормально, однако я не могу не чувствовать, что System.Type должно иметь значительные накладные расходы.Может кто-то пролить свет на это?

И если это расточительно, то какой лучший подход я мог бы использовать для работы с несколькими пакетами (в идеале то, что может быть расширено за пределы библиотеки классов Packet, уже содержится в.

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