public static UriHostNameType CheckHostName (string name)
{
if (name == null || name.Length == 0)
return UriHostNameType.Unknown;
if (IsIPv4Address (name))
return UriHostNameType.IPv4;
if (IsDomainAddress (name))
return UriHostNameType.Dns;
IPv6Address addr;
if (IPv6Address.TryParse (name, out addr))
return UriHostNameType.IPv6;
return UriHostNameType.Unknown;
}