public DnsEndPoint(string host, int port, AddressFamily addressFamily)
{
if (host == null)
{
throw new ArgumentNullException(nameof(host));
}
if (String.IsNullOrEmpty(host))
{
throw new ArgumentException(SR.Format(SR.net_emptystringcall, nameof(host)));
}
if (port < IPEndPoint.MinPort || port > IPEndPoint.MaxPort)
{
throw new ArgumentOutOfRangeException(nameof(port));
}
if (addressFamily != AddressFamily.InterNetwork &&
addressFamily != AddressFamily.InterNetworkV6 &&
addressFamily != AddressFamily.Unspecified)
{
throw new ArgumentException(SR.net_sockets_invalid_optionValue_all, nameof(addressFamily));
}
_host = host;
_port = port;
_family = addressFamily;
}