public abstract class Packet
{
public static byte Id;
public virtual void Write(ref RawPacket packet)
{
packet.WriteByte(Id);
}
}
public static byte GetID(Type packet)
{
var ids = new Dictionary<Type, byte>
{
{ typeof(ICMP), 1 },
{ typeof(TCP), 6 }
};
return ids[packet];
}
typeof
, то получится вполне сносно.