В моем коде у меня есть класс пакета, который я отправляю по сети, внутри этой структуры пакета у меня есть переменная Type, которая находится внутри пакета, подобного следующему:
[Serializable]
struct Packet
{
Type packetType;
}
И затем на клиенте/ сервер Я могу десериализовать, выполнив следующее:
if(packet.packetType == typeof(ChatPacket))
{
ChatPacket packet = packet as ChatPacket;
}
Это работает нормально, однако я не могу не чувствовать, что System.Type
должно иметь значительные накладные расходы.Может кто-то пролить свет на это?
И если это расточительно, то какой лучший подход я мог бы использовать для работы с несколькими пакетами (в идеале то, что может быть расширено за пределы библиотеки классов Packet
, уже содержится в.