using System; using System.IO; using System.Net; public class ServerInfo { public string Name = "Custom"; public string Ip = "0.0.0.0"; public bool Default; public void Serialize(BinaryWriter writer) { writer.Write(this.Name); writer.Write(this.Ip); writer.Write(this.Default); } public static ServerInfo Deserialize(BinaryReader reader) { ServerInfo serverInfo = new ServerInfo(); serverInfo.Name = reader.ReadString(); serverInfo.Ip = reader.ReadString(); IPAddress ipaddress; if (!IPAddress.TryParse(serverInfo.Ip, out ipaddress)) { return null; } serverInfo.Default = reader.ReadBoolean(); return serverInfo; } internal static ServerInfo Deserialize(string[] parts) { return new ServerInfo { Name = parts[0], Ip = parts[1], Default = bool.Parse(parts[2]) }; } }