﻿// Decompiled with JetBrains decompiler
// Type: System.Web.Hosting.ApplicationInfo
// Assembly: System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// MVID: 7E68A73E-4066-4F24-AB0A-F147209F50EC
// Assembly location: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Web.dll

using System;
using System.Runtime;

namespace System.Web.Hosting
{
  /// <summary>
  /// Provides information about a running application. This class cannot be inherited.
  /// </summary>
  [Serializable]
  public sealed class ApplicationInfo
  {
    private string _id;
    private System.Web.VirtualPath _virtualPath;
    private string _physicalPath;

    /// <summary>
    /// Gets the unique identifier for the application.
    /// </summary>
    /// 
    /// <returns>
    /// The unique identifier for the application specified when the application was created by using the <see cref="M:System.Web.Hosting.ApplicationManager.CreateObject(System.String,System.Type,System.String,System.String,System.Boolean)"/> method.
    /// </returns>
    public string ID
    {
      [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get
      {
        return this._id;
      }
    }

    /// <summary>
    /// Gets the virtual path corresponding to the application's root.
    /// </summary>
    /// 
    /// <returns>
    /// The virtual path corresponding to the application's root.
    /// </returns>
    public string VirtualPath
    {
      get
      {
        return this._virtualPath.VirtualPathString;
      }
    }

    /// <summary>
    /// Gets the physical path corresponding to the application's root.
    /// </summary>
    /// 
    /// <returns>
    /// The physical path corresponding to the application's root.
    /// </returns>
    public string PhysicalPath
    {
      [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get
      {
        return this._physicalPath;
      }
    }

    [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    internal ApplicationInfo(string id, System.Web.VirtualPath virtualPath, string physicalPath)
    {
      this._id = id;
      this._virtualPath = virtualPath;
      this._physicalPath = physicalPath;
    }
  }
}
