public Address(string hostname, IPAddress inetAddress, int port) { if (inetAddress == null) { throw new ArgumentNullException("inetAddress"); } _type = (inetAddress.AddressFamily == AddressFamily.InterNetwork) ? IPv4 : IPv6; var addressArgs = inetAddress.ToString().Split('%'); _host = hostname ?? addressArgs[0]; if (addressArgs.Length == 2) { _scopeId = addressArgs[1]; } _port = port; _hostSet = !AddressUtil.IsIpAddress(_host); }