public static PacketField <string> ReadCStringField(this IncomingPacket packet, string name, Encoding encoding = null) { Contract.Requires(packet != null); Contract.Requires(name != null); Contract.Ensures(Contract.Result <PacketField <string> >().Value != null); return(new PacketField <string>(PacketFieldType.CString, packet.ReadCString(encoding), name)); }