PeerCastStation.Core.IPAddressExtension.IsSiteLocal C# (CSharp) Метод

IsSiteLocal() статический публичный Метод

static public IsSiteLocal ( this addr ) : bool
addr this
Результат bool
    static public bool IsSiteLocal(this IPAddress addr)
    {
      switch (addr.AddressFamily) {
      case System.Net.Sockets.AddressFamily.InterNetwork:
        var addr_bytes = addr.GetAddressBytes();
        return
          addr_bytes[0] == 10 ||
          addr_bytes[0] == 127 ||
          addr_bytes[0] == 169 && addr_bytes[1] == 254 ||
          addr_bytes[0] == 172 && (addr_bytes[1]&0xF0) == 16 ||
          addr_bytes[0] == 192 && addr_bytes[1] == 168;
      case System.Net.Sockets.AddressFamily.InterNetworkV6:
        return
          addr.IsIPv6LinkLocal ||
          addr.IsIPv6SiteLocal ||
          addr==IPAddress.IPv6Loopback;
      default:
        return false;
      }
    }