public PacketStructInfo(Type type)
 {
     Type      = type ?? throw new ArgumentNullException(nameof(type));
     Attribute = type.GetCustomAttribute <PacketStructAttribute>() ??
                 throw new ArgumentException(
                           $"Type \"{type.Name}\" is missing packet struct attribute.", nameof(type));
 }
 public PacketStructInfo(Type type, PacketStructAttribute attribute)
 {
     Type      = type ?? throw new ArgumentNullException(nameof(type));
     Attribute = attribute ?? throw new ArgumentNullException(nameof(attribute));
 }