ArcGISCompare.LicenseInitializer.Initialize C# (CSharp) Метод

Initialize() приватный Метод

private Initialize ( ) : bool
Результат bool
    private bool Initialize()
    {
      if (RuntimeManager.ActiveRuntime == null)
        return false;

      if (m_requestedProducts == null || m_requestedProducts.Count == 0)
        return false;

      bool productInitialized = false;

      m_requestedProducts.Sort();
      if (!InitializeLowerProductFirst) //Request license from highest to lowest
        m_requestedProducts.Reverse();

      m_AoInit = new AoInitializeClass();
      esriLicenseProductCode currentProduct = new esriLicenseProductCode();
      foreach (int prodNumber in m_requestedProducts)
      {
        esriLicenseProductCode prod = (esriLicenseProductCode)Enum.ToObject(typeof(esriLicenseProductCode), prodNumber);
        esriLicenseStatus status = m_AoInit.IsProductCodeAvailable(prod);
        if (status == esriLicenseStatus.esriLicenseAvailable)
        {
          status = m_AoInit.Initialize(prod);
          if (status == esriLicenseStatus.esriLicenseAlreadyInitialized ||
              status == esriLicenseStatus.esriLicenseCheckedOut)
          {
            productInitialized = true;
            currentProduct = m_AoInit.InitializedProduct();
          }
        }

        m_productStatus.Add(prod, status);

        if (productInitialized)
          break;
      }

      m_hasInitializeProduct = productInitialized;
      m_requestedProducts.Clear();

      //No product is initialized after trying all requested licenses, quit
      if (!productInitialized)
      {
        return false;
      }

      //Check out extension licenses
      return CheckOutLicenses(currentProduct);
    }