Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

986,295

Downloads of v 2.10.3:

52,460

Last Update:

31 Aug 2017

Package Maintainer(s):

Software Author(s):

  • Matt Wrock

Tags:

boxstarter environment setup

Boxstarter Chocolatey Module

This is not the latest version of Boxstarter Chocolatey Module available.

  • 1
  • 2
  • 3

2.10.3 | Updated: 31 Aug 2017

Downloads:

986,295

Downloads of v 2.10.3:

52,460

Software Author(s):

  • Matt Wrock

Boxstarter Chocolatey Module 2.10.3

This is not the latest version of Boxstarter Chocolatey Module available.

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Boxstarter Chocolatey Module, run the following command from the command line or from PowerShell:

>

To upgrade Boxstarter Chocolatey Module, run the following command from the command line or from PowerShell:

>

To uninstall Boxstarter Chocolatey Module, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade boxstarter.chocolatey -y --source="'INTERNAL REPO URL'" --version="'2.10.3'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade boxstarter.chocolatey -y --source="'INTERNAL REPO URL'" --version="'2.10.3'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install boxstarter.chocolatey
  win_chocolatey:
    name: boxstarter.chocolatey
    version: '2.10.3'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'boxstarter.chocolatey' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2.10.3'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller boxstarter.chocolatey
{
    Name     = "boxstarter.chocolatey"
    Version  = "2.10.3"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'boxstarter.chocolatey':
  ensure   => '2.10.3',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved by moderator ferventcoder on 16 May 2018.

Description

Creates a fresh developer (or non developer) environment from a bare OS utilizing powershell and chocolatey. Installs chocolatey, cutomizes windows settings, installs windows updates, handles reboots, installs windows features and your favorite applications.


tools\boxlogo.ico
 
tools\BoxStarter.bat
@echo off
  
powershell -NoProfile -ExecutionPolicy bypass -command "Import-Module '%~dp0Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1';Invoke-ChocolateyBoxstarter %*"
tools\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1
@{
Description = 'Provides a robust environment capable of automatic reboots and several windows customization functions ideal for installing chocolatey packages on a new machine'
# Script module or binary module file associated with this manifest.
ModuleToProcess = './boxstarter.chocolatey.psm1'

# Version number of this module.
ModuleVersion = '2.10.3'

# ID used to uniquely identify this module
GUID = 'bbdb3e8b-9daf-4c00-a553-4f3f88fb6e51'

# Author of this module
Author = 'Matt Wrock'

# Copyright statement for this module
Copyright = "(c) 2017 Matt Wrock."

# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '2.0'

# Minimum version of the .NET Framework required by this module
DotNetFrameworkVersion = '2.0'

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('..\Boxstarter.Common\Boxstarter.Common.psd1')

# Functions to export from this module
FunctionsToExport = '*'

# Cmdlets to export from this module
CmdletsToExport = '*'

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = '*'

# List of all modules packaged with this module.
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess
PrivateData = 'abc9ff673876ec66eede31c51b6209733226b69b'

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

tools\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psm1
param(
    [parameter(Position=0,Mandatory=$false)][boolean]$ExportCommands=$false
)
if(!$Global:Boxstarter) { $Global:Boxstarter = @{} }
if(!$Boxstarter.ContainsKey('RebootOk')) { $Boxstarter.RebootOk=$true }

$unNormalized=(Get-Item "$PSScriptRoot\..\Boxstarter.Bootstrapper\Boxstarter.Bootstrapper.psd1")
Import-Module $unNormalized.FullName -global -DisableNameChecking
Resolve-Path $PSScriptRoot\*.ps1 | 
    % { . $_.ProviderPath }

if($ExportCommands) { 
    Import-BoxstarterVars
    Export-ModuleMember cinst, cup, choco 
}

Export-ModuleMember Get-BoxstarterConfig,`
                    Get-PackageRoot,`
                    Enable-BoxstarterClientRemoting,`
                    Enable-BoxstarterCredSSP,`
                    Export-BoxstarterVars,`
                    Install-ChocolateyInstallPackageOverride,`
                    Invoke-BoxstarterBuild,`
                    Invoke-BoxstarterFromTask,`
                    Invoke-Chocolatey,`
                    Invoke-ChocolateyBoxstarter,`
                    Install-BoxstarterPackage,`
                    New-BoxstarterPackage,`
                    New-PackageFromScript,`
                    Register-ChocolateyInterception,`
                    Resolve-VMPlugin,`
                    Set-BoxstarterConfig,`
                    Set-BoxstarterShare,`
                    Write-HostOverride

Export-ModuleMember -alias `
                    Enable-BoxstarterVM,`
                    Install-ChocolateyInstallPackage,`
                    Write-Host
tools\Boxstarter.Chocolatey\Boxstarter.Chocolatey.pssproj
 
tools\Boxstarter.Chocolatey\Boxstarter.zip
md5: 4A6ECE13BA8A1D055A286DBEAE30F613 | sha1: 981C2D89EB451AA27A24F8F0735F46840AC4725D | sha256: A839D127E88E0274754AC6C9BD3BE6F0B24654C9A58BD1BC563E8A2D2C4F73F3 | sha512: BB51222190C41065DEDA6DAC2A2F70A43F600423D5A4E1B7CFB7DFAA8166423899C117C8C8B496CBD4D8EDA108353AD1E12570A6EE83A245995F8215EEAB9E27
tools\Boxstarter.Chocolatey\BoxstarterConnectionConfig.ps1
$source = @"
public class BoxstarterConnectionConfig {
    public BoxstarterConnectionConfig(System.Uri connectionURI, System.Management.Automation.PSCredential credential, System.Management.Automation.Remoting.PSSessionOption psSessionOption) {
        ConnectionURI=connectionURI;
        Credential=credential;
        PSSessionOption=psSessionOption;
    }
    public System.Uri ConnectionURI;
    public System.Management.Automation.PSCredential Credential;
    public System.Management.Automation.Remoting.PSSessionOption PSSessionOption;
}
"@
Add-Type -TypeDefinition $source
tools\Boxstarter.Chocolatey\Chocolatey.ps1
function Install-ChocolateyInstallPackageOverride {
param(
  [string] $packageName, 
  [string] $fileType = 'exe',
  [string] $silentArgs = '',
  [string] $file,
  $validExitCodes = @(0)
)
    Wait-ForMSIEXEC
    if(Get-IsRemote){
        Invoke-FromTask @"
Import-Module $env:chocolateyinstall\helpers\chocolateyInstaller.psm1 -Global -DisableNameChecking
Install-ChocolateyInstallPackage $(Expand-Splat $PSBoundParameters)
"@
    }
    else{
        chocolateyInstaller\Install-ChocolateyInstallPackage @PSBoundParameters
    }
}

function Write-HostOverride {
param(
  [Parameter(Position=0,Mandatory=$false,ValueFromPipeline=$true, ValueFromRemainingArguments=$true)][object] $Object,
  [Parameter()][switch] $NoNewLine, 
  [Parameter(Mandatory=$false)][ConsoleColor] $ForegroundColor, 
  [Parameter(Mandatory=$false)][ConsoleColor] $BackgroundColor,
  [Parameter(Mandatory=$false)][Object] $Separator
)
    if($Boxstarter.ScriptToCall -ne $null) { Log-BoxStarterMessage $object }
    if($Boxstarter.SuppressLogging){
        $caller = (Get-Variable MyInvocation -Scope 1).Value.MyCommand.Name
        if("Describe","Context","write-PesterResult" -contains $caller) {
            Microsoft.PowerShell.Utility\Write-Host @PSBoundParameters
        }
        return;
    }
    $chocoWriteHost = Get-Command -Module chocolateyInstaller | ? { $_.Name -eq "Write-Host" }
    if($chocoWriteHost){
        &($chocoWriteHost) @PSBoundParameters
    }
    else {
        Microsoft.PowerShell.Utility\Write-Host @PSBoundParameters
    }
}

new-alias Install-ChocolateyInstallPackage Install-ChocolateyInstallPackageOverride -force
new-alias Write-Host Write-HostOverride -force

function cinst {
<#
.SYNOPSIS
Intercepts Chocolatey call to check for reboots

#>    
    param(
        [string[]]$packageNames=@('')
    )
    chocolatey Install @PSBoundParameters @args
}

function choco {
<#
.SYNOPSIS
Intercepts Chocolatey call to check for reboots

#>    
    param(
        [string]$command,
        [string[]]$packageNames=@('')
    )
    chocolatey @PSBoundParameters @args
}

function cup {
<#
.SYNOPSIS
Intercepts Chocolatey call to check for reboots

#>    
    param(
        [string[]]$packageNames=@('')
    )
    chocolatey Update @PSBoundParameters @args
}

function chocolatey {
<#
.SYNOPSIS
Intercepts Chocolatey call to check for reboots

#>  
    param(
        [string]$command,
        [string[]]$packageNames=@('')
    )
    $RebootCodes = Get-PassedArg RebootCodes $args
    $RebootCodes=Add-DefaultRebootCodes $RebootCodes
    $packageNames=-split $packageNames
    Write-BoxstarterMessage "Installing $($packageNames.Count) packages" -Verbose
    
    foreach($packageName in $packageNames){
        $PSBoundParameters.packageNames = $packageName
        if((Get-PassedArg @("source", "s") $args) -eq "WindowsFeatures"){
            $dismInfo=(DISM /Online /Get-FeatureInfo /FeatureName:$packageName)
            if($dismInfo -contains "State : Enabled" -or $dismInfo -contains "State : Enable Pending") {
                Write-BoxstarterMessage "$packageName is already installed"
                return
            }
        }
        if(((Test-PendingReboot) -or $Boxstarter.IsRebooting) -and $Boxstarter.RebootOk) {return Invoke-Reboot}
        $session=Start-TimedSection "Calling Chocolatey to install $packageName. This may take several minutes to complete..."
        $currentErrorCount = $global:error.Count
        $rebootable = $false
        try {
            [System.Environment]::ExitCode = 0
            Call-Chocolatey @PSBoundParameters @args
            $ec = [System.Environment]::ExitCode
            # suppress errors from enabled features that need a reboot
            if((Test-WindowsFeatureInstall $args) -and $ec -eq 3010) { $ec=0 }
            # chocolatey reassembles environment variables after an install
            # but does not add the machine PSModule value to the user Online
            $machineModPath = [System.Environment]::GetEnvironmentVariable("PSModulePath","Machine")
            if(!$env:PSModulePath.EndsWith($machineModPath)) {
                $env:PSModulePath += ";" + $machineModPath
            }

            Write-BoxstarterMessage "Exit Code: $ec" -Verbose
            if($ec -ne 0) {
                Write-Error "Chocolatey reported an unsuccessful exit code of $ec. See $($Boxstarter.Log) for details."
                $currentErrorCount += 1
            }
        }
        catch { 
            #Only write the error to the error stream if it was not previously
            #written by chocolatey
            $chocoErrors = $global:error.Count - $currentErrorCount
            if($chocoErrors -gt 0){
                $idx = 0
                $errorWritten = $false
                while($idx -lt $chocoErrors){
                    if(($global:error[$idx].Exception.Message | Out-String).Contains($_.Exception.Message)){
                        $errorWritten = $true
                    }
                    if(!$errorWritten){
                        Write-Error $_
                    }
                    $idx += 1
                }
            }
        }
        $chocoErrors = $global:error.Count - $currentErrorCount
        if($chocoErrors -gt 0){
            Write-BoxstarterMessage "There was an error calling chocolatey" -Verbose
            $idx = 0
            while($idx -lt $chocoErrors){
                Write-BoxstarterMessage "Error from chocolatey: $($global:error[$idx].Exception | fl * -Force | Out-String)"
                if($global:error[$idx] -match "code was '(-?\d+)'") {
                    $errorCode=$matches[1]
                    if($RebootCodes -contains $errorCode) {
                       Write-BoxstarterMessage "Chocolatey Install returned a rebootable exit code" -verbose
                       $rebootable = $true
                    }
                }
                $idx += 1
            }
        }
        Stop-Timedsection $session
        if($Boxstarter.IsRebooting -or $rebootable){
            Remove-ChocolateyPackageInProgress $packageName
            Invoke-Reboot
        }
    }
}

function Get-PassedArg($argName, $origArgs) {
    $candidateKeys = @()
    $argName | % {
        $candidateKeys += "-$_"
        $candidateKeys += "--$_"
    }
    $nextIsValue = $false
    $val = $null

    $origArgs | % {
        if($nextIsValue) {
            $nextIsValue = $false
            $val =  $_
        }
        if($candidateKeys -contains $_) {
            $nextIsValue = $true
        }
        elseif($_.ToString().Contains("=")) {
            $parts = $_.split("=", 2)
            $nextIsValue = $false
            $val = $parts[1]
        }        
    }

    return $val
}

function Test-WindowsFeatureInstall($passedArgs) {
(Get-PassedArg @("source", "s") $passedArgs) -eq "WindowsFeatures"
}

function Call-Chocolatey {
    param(
        [string]$command,
        [string[]]$packageNames=@('')
    )
    $chocoArgs = @($command, $packageNames)
    $chocoArgs += Format-ExeArgs $command @args
    Write-BoxstarterMessage "Passing the following args to chocolatey: $chocoArgs" -Verbose

    $currentLogging=$Boxstarter.Suppresslogging
    try {
        if(Test-WindowsFeatureInstall $args) { $Boxstarter.SuppressLogging=$true }
        if(($PSVersionTable.CLRVersion.Major -lt 4 -or (Test-WindowsFeatureInstall $args)) -and (Get-IsRemote)) {
            Invoke-ChocolateyFromTask $chocoArgs
        }
        else {
            Invoke-LocalChocolatey $chocoArgs
        }
    }
    finally {
        $Boxstarter.SuppressLogging = $currentLogging
    }

    $restartFile = "$(Get-BoxstarterTempDir)\Boxstarter.$PID.restart"
    if(Test-Path $restartFile) { 
        Write-BoxstarterMessage "found $restartFile we are restarting"
        $Boxstarter.IsRebooting = $true
        remove-item $restartFile -Force
    }
}

function Invoke-ChocolateyFromTask($chocoArgs) {
    Invoke-BoxstarterFromTask "Invoke-Chocolatey $(Serialize-Array $chocoArgs)"
}

function Invoke-LocalChocolatey($chocoArgs) {
    if(Get-IsRemote) {
        $global:Boxstarter.DisableRestart = $true
    }
    Export-BoxstarterVars
 
    Enter-DotNet4 {
        if($env:BoxstarterVerbose -eq 'true'){
            $global:VerbosePreference = "Continue"
        }

        Import-Module "$($args[1].BaseDir)\Boxstarter.chocolatey\Boxstarter.chocolatey.psd1" -DisableNameChecking
        Invoke-Chocolatey $args[0]
    } $chocoArgs, $Boxstarter
}

function Format-ExeArgs($command) {
    $newArgs = @()
    $args | % {
        if($onForce){
            $onForce = $false
            if($_ -eq $true) {return}
            else {
                $lastIdx = $newArgs.count-2
                if($lastIdx -ge 0){
                    $newArgs = $newArgs[0..$lastIdx]
                }
                else { $newArgs = @() }
                return
            }
        }
        if([string]$_ -eq "-force:"){
            $_ = "-f"
            $onForce = $true
        }
        elseif($_.Tostring().StartsWith("-") -and $_.ToString().Contains("=")){
            $_ = $_.split("=",2)
        }

        $newArgs += $_
    }

    if((Get-PassedArg @("source","s") $args) -eq $null){
        if(@("Install","Update") -contains $command) {
            $newArgs += "-Source"
            $newArgs += "$($Boxstarter.LocalRepo);$((Get-BoxstarterConfig).NugetSources)"
        }
    }

    if($global:VerbosePreference -eq "Continue") {
        $newArgs += "-Verbose"
    }

    $newArgs += '-y'
    $newArgs
}

function Add-DefaultRebootCodes($codes) {
    if($codes -eq $null){$codes=@()}
    $codes += 3010 #common MSI reboot needed code
    $codes += -2067919934 #returned by SQL Server when it needs a reboot
    return $codes
}

function Remove-ChocolateyPackageInProgress($packageName) {
    $pkgDir = "$env:ChocolateyInstall\lib\$packageName"
    if(Test-Path $pkgDir) {
        Write-BoxstarterMessage "Removing $pkgDir in progress" -Verbose
        remove-item $pkgDir -Recurse -Force -ErrorAction SilentlyContinue  
    }
}

function Expand-Splat($splat){
    $ret=""
    ForEach($item in $splat.KEYS.GetEnumerator()) {
        $ret += "-$item$(Resolve-SplatValue $splat[$item]) " 
    }
    Write-BoxstarterMessage "Expanded splat to $ret"
    return $ret
}

function Resolve-SplatValue($val){
    if($val -is [switch]){
        if($val.IsPresent){
            return ":`$True"
        }
        else{
            return ":`$False"
        }
    }
    return " $(ConvertTo-PSString $val)"
}

function Wait-ForMSIEXEC{
    Write-BoxstarterMessage "Checking for other running MSIEXEC installers..." -Verbose
    Do{
        Get-Process | ? {$_.Name -eq "MSIEXEC"} | % {
            if(!($_.HasExited)){
                $proc=Get-WmiObject -Class Win32_Process -Filter "ProcessID=$($_.Id)"
                if($proc.CommandLine -ne $null -and $proc.CommandLine.EndsWith(" /V")){ break }
                Write-BoxstarterMessage "Another installer is running: $($proc.CommandLine). Waiting for it to complete..."
                $_.WaitForExit()
            }
        }
    } Until ((Get-Process | ? {$_.Name -eq "MSIEXEC"} ) -eq $null)
}

function Export-BoxstarterVars {
    $boxstarter.keys | % {
        Export-ToEnvironment "Boxstarter.$_"
    }
    if($script:BoxstarterPassword) {
        Export-ToEnvironment "BoxstarterPassword" script
    }
    Export-ToEnvironment "VerbosePreference" global
    Export-ToEnvironment "DebugPreference" global
    $env:BoxstarterSourcePID = $PID
}

function Export-ToEnvironment($varToExport, $scope) {
    $val = Invoke-Expression "`$$($scope):$varToExport"
    if($val -is [string] -or $val -is [boolean]) {
        Set-Item -Path "Env:\BEX.$varToExport" -Value $val.ToString() -Force
    }
    elseif($val -eq $null) {
        Set-Item -Path "Env:\BEX.$varToExport" -Value '$null' -Force
    }
    Write-BoxstarterMessage "Exported $varToExport from $PID to `$env:BEX.$varToExport with value $val" -verbose
}

function Serialize-BoxstarterVars {
    $res = ""
    $boxstarter.keys | % {
        $res += "`$global:Boxstarter['$_']=$(ConvertTo-PSString $Boxstarter[$_])`r`n"
    }
    if($script:BoxstarterPassword) {
        $res += "`$script:BoxstarterPassword='$($script:BoxstarterPassword)'`r`n"
    }
    $res += "`$global:VerbosePreference='$global:VerbosePreference'`r`n"
    $res += "`$global:DebugPreference='$global:DebugPreference'`r`n"
    Write-BoxstarterMessage "Serialized boxstarter vars to:" -verbose
    Write-BoxstarterMessage $res -verbose
    $res
}

function Import-FromEnvironment ($varToImport, $scope) {
    if(!(Test-Path "Env:\$varToImport")) { return }
    [object]$ival = (Get-Item "Env:\$varToImport").Value.ToString()

    if($ival.ToString() -eq 'True'){ $ival = $true }
    if($ival.ToString() -eq 'False'){ $ival = $false }
    if($ival.ToString() -eq '$null'){ $ival = $null }

    Write-BoxstarterMessage "Importing $varToImport from $env:BoxstarterSourcePID to $PID with value $ival" -Verbose

    $newVar = $varToImport.Substring('BEX.'.Length)
    Invoke-Expression "`$$($scope):$newVar=$(ConvertTo-PSString $ival)"

    remove-item "Env:\$varToImport"
}

function Import-BoxstarterVars {
    Write-BoxstarterMessage "Importing Boxstarter vars into pid $PID from pid: $($env:BoxstarterSourcePID)" -verbose
    Import-FromEnvironment "BEX.BoxstarterPassword" script

    $varsToImport = @()
    Get-ChildItem -Path env: | ? { $_.Name.StartsWith('BEX.') } | % { $varsToImport += $_.Name }
    
    $varsToImport | % { Import-FromEnvironment $_ global }

    $boxstarter.SourcePID = $env:BoxstarterSourcePID
}

function ConvertTo-PSString($originalValue) {
    if($originalValue -is [int] -or $originalValue -is [int64]){
        "$originalValue"
    }
    elseif($originalValue -is [Array]){
        Serialize-Array $originalValue
    }
    elseif($originalValue -is [boolean]) {
        "`$$($originalValue.ToString())"
    }
    elseif($originalValue -ne $null){
        "`"$($originalValue.ToString().Replace('"','`' + '"'))`""
    }
    else {
        "`$null"
    }
}

function Serialize-Array($chocoArgs) {
    $first = $false
    $res = "@("
    $chocoArgs | % {
        if($first){$res+=","}
        $res += ConvertTo-PSString $_
        $first = $true
    }
    $res += ")"
    $res
}
tools\Boxstarter.Chocolatey\chocolatey\chocolatey.dll
md5: AE7239BB70DCD2CBC97383FB069E337C | sha1: FB2C944D0AB3AF276DBA88527A01BD13FF22F66C | sha256: A18446880F76DF76A0960C710B47F6EBCE96FC66EE6B7DD84B79CB7996705591 | sha512: C87FD05E8EA94DC8357652E1871185FDBD3959C8FC94E0529982D0726A425634EFEAA5DB6CAAF8C0DA775BE9E4F5A93EF817232FA510933E52662832A2E0EB91
tools\Boxstarter.Chocolatey\chocolatey\chocolatey.pdb
 
tools\Boxstarter.Chocolatey\chocolatey\chocolatey.xml
<?xml version="1.0"?>
<doc>
  <assembly>
    <name>chocolatey</name>
  </assembly>
  <members>
    <member name="T:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo">
      <summary>Information about an alternate data stream.</summary>
      <seealso cref="O:Alphaleonis.Win32.Filesystem.File.EnumerateAlternateDataStreams" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.GetHashCode">
      <summary>Returns the hash code for this instance.</summary>
      <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.Equals(System.Object)">
      <summary>Indicates whether this instance and a specified object are equal.</summary>
      <param name="obj">The object to compare with the current instance.</param>
      <returns>
              true if <paramref name="obj" /> and this instance are the same type and represent the same value; otherwise, false.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.op_Equality(Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo,Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo)">
      <summary>Equality operator.</summary>
      <param name="first">The first operand.</param>
      <param name="second">The second operand.</param>
      <returns>The result of the operation.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.op_Inequality(Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo,Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo)">
      <summary>Inequality operator.</summary>
      <param name="first">The first operand.</param>
      <param name="second">The second operand.</param>
      <returns>The result of the operation.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.StreamName">
      <summary>Gets the name of the alternate data stream.</summary>
      <remarks>This value is an empty string for the default stream (::$DATA), and for any other data stream it contains the name of the stream.</remarks>
      <value>The name of the stream.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.Size">
      <summary>Gets the size of the stream.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo.FullPath">
      <summary>Gets the full path to the stream.</summary>
      <remarks>
              This is a path in long path format that can be passed to <see cref="O:Alphaleonis.Win32.Filesystem.File.Open" /> to open the stream if
              <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.FullPath" /> or
              <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.LongFullPath" /> is specified.
            </remarks>
      <value>The full path to the stream in long path format.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.BackupStreamInfo">
      <summary>
            The <see cref="T:Alphaleonis.Win32.Filesystem.BackupStreamInfo" /> structure contains stream header data.
            </summary>
      <seealso cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupStreamInfo.#ctor(Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupStreamInfo" /> class.
            </summary>
      <param name="streamID">The stream ID.</param>
      <param name="name">The name.</param>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupStreamInfo.Size">
      <summary>
            Gets the size of the data in the substream, in bytes.
            </summary>
      <value>The size of the data in the substream, in bytes.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupStreamInfo.Name">
      <summary>
            Gets a string that specifies the name of the alternative data stream.
            </summary>
      <value>A string that specifies the name of the alternative data stream.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupStreamInfo.StreamType">
      <summary>
            Gets the type of the data in the stream.
            </summary>
      <value>The type of the data in the stream.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupStreamInfo.Attributes">
      <summary>
            Gets the attributes of the data to facilitate cross-operating system transfer.
            </summary>
      <value>Attributes of the data to facilitate cross-operating system transfer.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine">
      <summary>Callback used by CopyFileXxx and MoveFileXxx to report progress about the copy/move operation.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Directory">
      <summary>Exposes static methods for creating, moving, and enumerating through directories and subdirectories.
              <para>This class cannot be inherited.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="path">The directory path.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="path">The directory path.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="path">The directory path.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in path. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="path">The directory path.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in path. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory path.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory path.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory path.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in path. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CountFileSystemObjects(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory path.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in path. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(System.String,System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(System.String,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(System.String,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes empty subdirectories from the specified directory.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove empty subdirectories from.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteEmptySubdirectoriesInternal(Alphaleonis.Win32.Filesystem.FileSystemEntryInfo,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method DeleteEmptySubdirectoriesInternal() to delete empty subdirectories from the specified directory.</summary>
      <remarks>Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the empty directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.IOException">path is <see langword="null" />.</exception>
      <param name="fileSystemEntryInfo">A FileSystemEntryInfo instance. Use either <paramref name="fileSystemEntryInfo" /> or <paramref name="path" />, not both.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove empty subdirectories from. Use either <paramref name="path" /> or <paramref name="fileSystemEntryInfo" />, not both.</param>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
      <param name="initialize">When <see langword="true" /> indicates the method is called externally.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String)">
      <summary>Deletes an empty directory from a specified path.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="path">The name of the empty directory to remove. This directory must be writable and empty.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String,System.Boolean)">
      <summary>Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Deletes an empty directory from a specified path.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="path">The name of the empty directory to remove. This directory must be writable and empty.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of files and directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(System.String,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of files and directories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Deletes an empty directory from a specified path.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the empty directory to remove. This directory must be writable and empty.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Deletes an empty directory from a specified path.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the empty directory to remove. This directory must be writable and empty.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of files and directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified directory and, if indicated, any subdirectories in the directory.</summary>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove.</param>
      <param name="recursive">
        <see langword="true" /> to remove directories, subdirectories, and files in <paramref name="path" />. <see langword="false" /> otherwise.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of files and directories.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DeleteDirectoryInternal(Alphaleonis.Win32.Filesystem.FileSystemEntryInfo,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method DeleteDirectoryInternal() to delete a Non-/Transacted directory.</summary>
      <remarks>
        <para>The RemoveDirectory function marks a directory for deletion on close. Therefore, the directory is not removed until the last handle to the directory is closed.</para>
        <para>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before deleting the directory.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="fileSystemEntryInfo">A FileSystemEntryInfo instance. Use either <paramref name="fileSystemEntryInfo" /> or <paramref name="path" />, not both.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the directory to remove. Use either <paramref name="path" /> or <paramref name="fileSystemEntryInfo" />, not both.</param>
      <param name="recursive">
        <see langword="true" /> to remove all files and subdirectories recursively; <see langword="false" /> otherwise only the top level empty directory.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only attribute of files and directories.</param>
      <param name="requireEmpty">
        <see langword="true" /> requires the directory must be empty.</param>
      <param name="continueOnNotExist">
        <see langword="true" /> does not throw an Exception when the file system object does not exist.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String)">
      <summary>Creates all directories and subdirectories in the specified path unless they already exist.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>Creates all the directories in the specified path, unless the already exist, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Security.AccessControl.DirectorySecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Creates all directories and subdirectories in the specified path unless they already exist.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>Creates all the directories in the specified path, unless the already exist, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Security.AccessControl.DirectorySecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path, applying the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> parameter before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new directory, with the attributes of a specified template directory.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Security.AccessControl.DirectorySecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectory(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates all the directories in the specified path of a specified template directory and applies the specified Windows security.</summary>
      <returns>An object that represents the directory at the specified path. This object is returned regardless of whether a directory at the specified path already exists.</returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CreateDirectoryInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Security.AccessControl.ObjectSecurity,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CreateDirectoryInternal() to create a new directory with the attributes of a specified template directory (if one is specified). 
            If the underlying file system supports security on files and directories, the function
            applies the specified security descriptor to the new directory. The new directory retains
            the other attributes of the specified template directory.
            </summary>
      <returns>
        <para>Returns an object that represents the directory at the specified path.</para>
        <para>This object is returned regardless of whether a directory at the specified path already exists.</para>
      </returns>
      <remarks>MSDN: .NET 4+ Trailing spaces are removed from the end of the <paramref name="path" /> and <paramref name="templatePath" /> parameters before creating the directory.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <exception cref="T:System.IO.IOException" />
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to create.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory. May be <see langword="null" /> to indicate that no template should be used.</param>
      <param name="directorySecurity">The <see cref="T:System.Security.AccessControl.DirectorySecurity" /> access control to apply to the directory, may be null.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(System.String)">
      <summary>Returns an enumerable collection of directory names in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(System.String,System.String)">
      <summary>Returns an enumerable collection of directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(System.String,System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of directory instances in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of directory instances that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(System.String)">
      <summary>Returns an enumerable collection of file names in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(System.String,System.String)">
      <summary>Returns an enumerable collection of file names in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" /> and that match the <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(System.String,System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of file names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of file names in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of file instances that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" /> and that match the <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>[AlphaFS] Returns an enumerable collection of file instances instances that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(System.String)">
      <summary>Returns an enumerable collection of file names and directory names in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> entries in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(System.String,System.String)">
      <summary>Returns an enumerable collection of file names and directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of file-system entries in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of file names and directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of file-system entries in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Returns an enumerable collection of file names and directory names in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <returns>An enumerable collection of <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> entries in the directory specified by <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>Returns an enumerable collection of file names and directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of file-system entries in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of file names and directory names that match a <paramref name="searchPattern" /> in a specified <paramref name="path" />, and optionally searches subdirectories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of file-system entries in the directory specified by <paramref name="path" /> and that match the specified <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
            [AlphaFS] Returns an enumerable collection of file system entries in a specified path.
            </summary>
      <typeparam name="T">
      </typeparam>
      <param name="path">The directory to search.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
               The matching file system entries. The type of the items is determined by the type <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Returns an enumerable collection of file system entries that match a
              <paramref name="searchPattern" /> in a specified path.
            </summary>
      <typeparam name="T">
              The type to return. This may be one of the following types:
              <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                   This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />,
                   <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                 </description></item><item><term><see cref="T:System.String" /></term><description>
                   This method will return the full path of each item.
                 </description></item></list></typeparam>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in
              <paramref name="path" />. This parameter can contain a combination of valid literal path and
              wildcard
              (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)
              characters, but doesn't support regular expressions.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
               The matching file system entries. The type of the items is determined by the type <typeparamref name="T" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Returns an enumerable collection of file system entries that match a
              <paramref name="searchPattern" /> in a specified path using
              <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" />.
            </summary>
      <typeparam name="T">
              The type to return. This may be one of the following types:
              <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                   This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />,
                   <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                 </description></item><item><term><see cref="T:System.String" /></term><description>
                   This method will return the full path of each item.
                 </description></item></list></typeparam>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in
              <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard
              (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but doesn't support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be
              enumerated.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
               The matching file system entries. The type of the items is determined by the type <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">.</exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String)">
      <summary>
            [AlphaFS] Returns an enumerable collection of file system entries in a specified path.
            </summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <param name="path">The directory to search.</param>
      <returns>
               The matching file system entries. The type of the items is determined by the type <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String,System.String)">
      <summary>
            [AlphaFS] Returns an enumerable collection of file system entries that match a <paramref name="searchPattern" /> in a specified path.
            </summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but doesn't support regular expressions.</para>
      </param>
      <returns>
               The matching file system entries. The type of the items is determined by the type <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>
              [AlphaFS] Returns an enumerable collection of file system entries that match a
              <paramref name="searchPattern" /> in a specified path using
              <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" />.
            </summary>
      <typeparam name="T">
              The type to return. This may be one of the following types:
              <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                   This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />,
                   <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                 </description></item><item><term><see cref="T:System.String" /></term><description>
                   This method will return the full path of each item.
                 </description></item></list></typeparam>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
              The search string to match against the names of directories in
              <paramref name="path" />. This parameter can contain a
              combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and
              <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)
              characters, but doesn't support regular expressions.
            </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be
              enumerated.
            </param>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries in a specified path.</summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries that match a <paramref name="searchPattern" /> in a specified path.
            </summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries that match a <paramref name="searchPattern" /> in a specified path using <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" />.</summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries in a specified path.</summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries that match a <paramref name="searchPattern" /> in a specified path.</summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfos``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Returns an enumerable collection of file system entries that match a <paramref name="searchPattern" /> in a specified path using <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" />.</summary>
      <typeparam name="T">
               The type to return. This may be one of the following types:
               <list type="definition"><item><term><see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /></term><description>
                    This method will return instances of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instances.
                  </description></item><item><term><see cref="T:System.String" /></term><description>
                    This method will return the full path of each item.
                  </description></item></list></typeparam>
      <returns>
              The matching file system entries. The type of the items is determined by the type
              <typeparamref name="T" />.
            </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileSystemEntryInfosInternal``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method EnumerateFileSystemEntryInfosInternal() to return an enumerable collection of file system entries in a specified path using <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" />.</summary>
      <returns>
        <para>The return type is based on C# inference. Possible return types are:</para>
        <para>
          <see cref="T:System.String" />- (full path), <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" />- (<see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> / <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance.</para>
      </returns>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Exists(System.String)">
      <summary>
              Determines whether the given path refers to an existing directory on disk.
            </summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" />  parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to determine
              if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
      </remarks>
      <param name="path">The path to test.</param>
      <returns>
        <para>Returns <see langword="true" /> if <paramref name="path" /> refers to an existing directory.</para>
        <para>Returns <see langword="false" /> if the directory does not exist or an error occurs when trying
              to determine if the specified file exists.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Exists(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Determines whether the given path refers to an existing directory on disk.</summary>
      <returns>
        <para>Returns <see langword="true" /> if <paramref name="path" /> refers to an existing directory.</para>
        <para>Returns <see langword="false" /> if the directory does not exist or an error occurs when trying to determine if the specified file exists.</para>
      </returns>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the file.</para>
      </remarks>
      <param name="path">The path to test.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Exists(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Determines whether the given path refers to an existing directory on disk.
            </summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to
              determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to test.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
        <para>Returns <see langword="true" /> if <paramref name="path" /> refers to an existing
              directory.</para>
        <para>Returns <see langword="false" /> if the directory does not exist or an error occurs
              when trying to determine if the specified file exists.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Exists(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Determines whether the given path refers to an existing directory on disk.</summary>
      <returns>
        <para>Returns <see langword="true" /> if <paramref name="path" /> refers to an existing directory.</para>
        <para>Returns <see langword="false" /> if the directory does not exist or an error occurs when trying to determine if the specified file exists.</para>
      </returns>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the file.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to test.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetAccessControl(System.String)">
      <summary>Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control list (ACL) entries for the specified directory.</summary>
      <param name="path">The path to a directory containing a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes the file's access control list (ACL) information.</param>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the file described by the <paramref name="path" /> parameter.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetAccessControl(System.String,System.Security.AccessControl.AccessControlSections)">
      <summary>Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the specified type of access control list (ACL) entries for a particular directory.</summary>
      <param name="path">The path to a directory containing a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes the directory's access control list (ACL) information.</param>
      <param name="includeSections">One (or more) of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to receive.</param>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the directory described by the <paramref name="path" /> parameter. </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetAccessControl(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control list (ACL) entries for the specified directory.</summary>
      <param name="path">The path to a directory containing a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes the file's access control list (ACL) information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the file described by the <paramref name="path" /> parameter.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetAccessControl(System.String,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the specified type of access control list (ACL) entries for a particular directory.</summary>
      <param name="path">The path to a directory containing a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes the directory's access control list (ACL) information.</param>
      <param name="includeSections">One (or more) of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to receive.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the directory described by the <paramref name="path" /> parameter. </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.HasInheritedPermissions(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Check if the directory has permission inheritance enabled.</summary>
      <returns>
        <see langword="true" /> if permission inheritance is enabled, <see langword="false" /> if permission inheritance is disabled.</returns>
      <param name="path">The full path to the directory to check.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.HasInheritedPermissions(System.String)">
      <summary>[AlphaFS] Check if the directory has permission inheritance enabled.</summary>
      <param name="path">The full path to the directory to check.</param>
      <returns>
        <see langword="true" /> if permission inheritance is enabled, <see langword="false" /> if permission inheritance is disabled.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTime(System.String)">
      <summary>Gets the creation date and time of the specified directory.</summary>
      <param name="path">The directory for which to obtain creation date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time of the specified directory.</summary>
      <param name="path">The directory for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time of the specified directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the creation date and time of the specified directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTimeUtc(System.String)">
      <summary>Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <param name="path">The directory for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <param name="path">The directory for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified directory. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTime(System.String)">
      <summary>Gets the date and time that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTimeUtc(System.String)">
      <summary>Gets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain access date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last accessed. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTime(System.String)">
      <summary>Gets the date and time that the specified directory was last written to.</summary>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last written to.</summary>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in local time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTimeUtc(System.String)">
      <summary>Gets the date and time, in coordinated universal time (UTC) time, that the specified directory was last written to.</summary>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified directory was last written to.</summary>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain write date and time information.</param>
      <returns>A <see cref="T:System.DateTime" /> structure set to the date and time that the specified directory was last written to. This value is expressed in UTC time.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Gets the change date and time of the specified directory.</summary>
      <param name="path">
              The directory for which to obtain creation date and time information.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified
              directory. This value is expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTime(System.String)">
      <summary>Gets the change date and time of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in local time.</returns>
      <param name="path">The directory for which to obtain creation date and time information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTime(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>Gets the change date and time of the specified directory.</summary>
      <param name="safeHandle">
              An open handle to the directory from which to retrieve information.
            </param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified
              directory. This value is expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Gets the change date and time of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in local time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Gets the change date and time of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in local time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to obtain creation date and time information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in UTC time.</returns>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTimeUtc(System.String)">
      <summary>Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in UTC time.</returns>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTimeUtc(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>
              Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified
              directory.
            </summary>
      <param name="safeHandle">
              An open handle to the directory from which to retrieve information.
            </param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified
              directory. This value is expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in UTC time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetChangeTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified directory.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified directory. This value is expressed in UTC time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetCurrentDirectory">
      <summary>Gets the current working directory of the application.</summary>
      <returns>The path of the current working directory without a trailing directory separator.</returns>
      <remarks>
        <para>MSDN: Multithreaded applications and shared library code should not use the GetCurrentDirectory function and</para>
        <para>should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process,</para>
        <para>therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value.</para>
        <para>This limitation also applies to the SetCurrentDirectory and GetFullPathName functions. The exception being when the application is guaranteed to be running in a single thread,</para>
        <para>for example parsing file names from the command line argument string in the main thread prior to creating any additional threads.</para>
        <para>Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCurrentDirectory(System.String)">
      <summary>Sets the application's current working directory to the specified directory.</summary>
      <param name="path">The path to which the current working directory is set.</param>
      <remarks>
        <para>MSDN: Multithreaded applications and shared library code should not use the SetCurrentDirectory function and</para>
        <para>should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process,</para>
        <para>therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value.</para>
        <para>This limitation also applies to the GetCurrentDirectory and GetFullPathName functions. The exception being when the application is guaranteed to be running in a single thread,</para>
        <para>for example parsing file names from the command line argument string in the main thread prior to creating any additional threads.</para>
        <para>Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(System.String)">
      <summary>Returns the names of subdirectories (including their paths) in the specified directory.
            </summary>
      <returns>An array of the full names (including paths) of subdirectories in the specified path, or an empty array if no directories are found.</returns>
      <remarks>
        <para>The names returned by this method are prefixed with the directory information provided in path.</para>
        <para>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(System.String,System.String)">
      <summary>Returns the names of subdirectories (including their paths) that match the specified search pattern in the specified directory.</summary>
      <returns>An array of the full names (including paths) of the subdirectories that match the search pattern in the specified directory, or an empty array if no directories are found.</returns>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(System.String,System.String,System.IO.SearchOption)">
      <summary>Returns the names of the subdirectories (including their paths) that match the specified search pattern in the specified directory, and optionally searches subdirectories.</summary>
      <returns>An array of the full names (including paths) of the subdirectories that match the specified criteria, or an empty array if no directories are found.</returns>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Returns the names of subdirectories (including their paths) in the specified directory.</summary>
      <returns>An array of the full names (including paths) of subdirectories in the specified path, or an empty array if no directories are found.</returns>
      <remarks>The names returned by this method are prefixed with the directory information provided in path.</remarks>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>Returns the names of subdirectories (including their paths) that match the specified search pattern in the specified directory.</summary>
      <returns>An array of the full names (including paths) of the subdirectories that match the search pattern in the specified directory, or an empty array if no directories are found.</returns>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectories(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>Returns the names of the subdirectories (including their paths) that match the specified search pattern in the specified directory, and optionally searches subdirectories.</summary>
      <returns>An array of the full names (including paths) of the subdirectories that match the specified criteria, or an empty array if no directories are found.</returns>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(System.String)">
      <summary>Returns the names of files (including their paths) in the specified directory.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(System.String,System.String)">
      <summary>Returns the names of files (including their paths) that match the specified search pattern in the specified directory.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory that match the specified search pattern, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(System.String,System.String,System.IO.SearchOption)">
      <summary>Gets the names of the subdirectories (including their paths) that match the specified search pattern in the current directory, and optionally searches subdirectories.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory that match the specified search pattern and option, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Returns the names of files (including their paths) in the specified directory.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>Returns the names of files (including their paths) that match the specified search pattern in the specified directory.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory that match the specified search pattern, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFiles(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>Gets the names of the subdirectories (including their paths) that match the specified search pattern in the current directory, and optionally searches subdirectories.</summary>
      <returns>An array of the full names (including paths) for the files in the specified directory that match the specified search pattern and option, or an empty array if no files are found.</returns>
      <remarks>The returned file names are appended to the supplied <paramref name="path" /> parameter.</remarks>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required. </remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(System.String)">
      <summary>Returns the names of all files and subdirectories in the specified directory.</summary>
      <returns>An string[] array of the names of files and subdirectories in the specified directory.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory for which file and subdirectory names are returned.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(System.String,System.String)">
      <summary>Returns an array of file system entries that match the specified search criteria.</summary>
      <returns>An string[] array of file system entries that match the specified search criteria.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path to be searched.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)">
      <summary>Gets an array of all the file names and directory names that match a <paramref name="searchPattern" /> in a specified path, and optionally searches subdirectories.</summary>
      <returns>An string[] array of file system entries that match the specified search criteria.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Returns the names of all files and subdirectories in the specified directory.</summary>
      <returns>An string[] array of the names of files and subdirectories in the specified directory.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which file and subdirectory names are returned.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>Returns an array of file system entries that match the specified search criteria.</summary>
      <returns>An string[] array of file system entries that match the specified search criteria.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The path to be searched.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetFileSystemEntries(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.IO.SearchOption)">
      <summary>Gets an array of all the file names and directory names that match a <paramref name="searchPattern" /> in a specified path, and optionally searches subdirectories.</summary>
      <returns>An string[] array of file system entries that match the specified search criteria.</returns>
      <remarks>
            The EnumerateFileSystemEntries and GetFileSystemEntries methods differ as follows: When you use EnumerateFileSystemEntries,
            you can start enumerating the collection of entries before the whole collection is returned; when you use GetFileSystemEntries,
            you must wait for the whole array of entries to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The directory to search.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectoryRoot(System.String)">
      <summary>Returns the volume information, root information, or both for the specified path.</summary>
      <returns>The volume information, root information, or both for the specified path, or <see langword="null" /> if <paramref name="path" /> path does not contain root directory information.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="path">The path of a file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectoryRoot(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Returns the volume information, root information, or both for the specified path.</summary>
      <returns>The volume information, root information, or both for the specified path, or <see langword="null" /> if <paramref name="path" /> path does not contain root directory information.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="path">The path of a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectoryRoot(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Returns the volume information, root information, or both for the specified path.</summary>
      <returns>The volume information, root information, or both for the specified path, or <see langword="null" /> if <paramref name="path" /> path does not contain root directory information.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The path of a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectoryRoot(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns the volume information, root information, or both for the specified path.</summary>
      <returns>The volume information, root information, or both for the specified path, or <see langword="null" /> if <paramref name="path" /> path does not contain root directory information.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The path of a file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetDirectoryRootInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetDirectoryRootInternal() to return the volume information, root information, or both for the specified path.
            <returns><para>Returns the volume information, root information, or both for the specified path,</para><para> or <see langword="null" /> if <paramref name="path" /> path does not contain root directory information.</para></returns></summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The path of a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLogicalDrives">
      <summary>Retrieves the names of the logical drives on this computer in the form "&lt;drive letter&gt;:\".</summary>
      <returns>An array of type <see cref="T:System.String" /> that represents the logical drives on a computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetLogicalDrives(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Retrieves the names of the logical drives on this computer in the form "&lt;drive letter&gt;:\".</summary>
      <param name="fromEnvironment">Retrieve logical drives as known by the Environment.</param>
      <param name="isReady">Retrieve only when accessible (IsReady) logical drives.</param>
      <returns>An array of type <see cref="T:System.String" /> that represents the logical drives on a computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateLogicalDrives(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Enumerates the drive names of all logical drives on a computer.</summary>
      <param name="fromEnvironment">Retrieve logical drives as known by the Environment.</param>
      <param name="isReady">Retrieve only when accessible (IsReady) logical drives.</param>
      <returns>An IEnumerable of type <see cref="T:Alphaleonis.Win32.Filesystem.DriveInfo" /> that represents the logical drives on a computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateLogicalDrivesInternal(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Unified method EnumerateLogicalDrivesInternal() to enumerate the drive names of all logical drives on a computer.</summary>
      <param name="fromEnvironment">Retrieve logical drives as known by the Environment.</param>
      <param name="isReady">Retrieve only when accessible (IsReady) logical drives.</param>
      <returns>An IEnumerable of type <see cref="T:Alphaleonis.Win32.Filesystem.DriveInfo" /> that represents the logical drives on a computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetParent(System.String)">
      <summary>Retrieves the parent directory of the specified path, including both absolute and relative paths.</summary>
      <param name="path">The path for which to retrieve the parent directory.</param>
      <returns>The parent directory, or <see langword="null" /> if <paramref name="path" /> is the root directory, including the root of a UNC server or share name.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetParent(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves the parent directory of the specified path, including both absolute and relative paths.</summary>
      <returns>The parent directory, or <see langword="null" /> if <paramref name="path" /> is the root directory, including the root of a UNC server or share name.</returns>
      <param name="path">The path for which to retrieve the parent directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetParent(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Retrieves the parent directory of the specified path, including both absolute and relative paths.</summary>
      <returns>The parent directory, or <see langword="null" /> if <paramref name="path" /> is the root directory, including the root of a UNC server or share name.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path for which to retrieve the parent directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetParent(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Retrieves the parent directory of the specified path, including both absolute and relative paths.</summary>
      <returns>The parent directory, or <see langword="null" /> if <paramref name="path" /> is the root directory, including the root of a UNC server or share name.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path for which to retrieve the parent directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetParentInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetParent() to retrieve the parent directory of the specified path, including both absolute and relative paths.</summary>
      <returns>Returns the parent directory, or <see langword="null" /> if <paramref name="path" /> is the root directory, including the root of a UNC server or share name.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path for which to retrieve the parent directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified directory.</summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity,System.Security.AccessControl.AccessControlSections)">
      <summary>Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified directory.</summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
      <param name="includeSections">One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to set.</param>
      <remarks>Note that unlike <see cref="M:System.IO.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity)" /> this method does <b>not</b> automatically
            determine what parts of the specified <see cref="T:System.Security.AccessControl.DirectorySecurity" /> instance has been modified. Instead, the
            parameter <paramref name="includeSections" /> is used to specify what entries from <paramref name="directorySecurity" /> to apply to <paramref name="path" />.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified directory.</summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified directory.</summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
      <param name="includeSections">One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to set.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>Note that unlike <see cref="M:System.IO.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity)" /> this method does <b>not</b> automatically
            determine what parts of the specified <see cref="T:System.Security.AccessControl.DirectorySecurity" /> instance has been modified. Instead, the
            parameter <paramref name="includeSections" /> is used to specify what entries from <paramref name="directorySecurity" /> to apply to <paramref name="path" />.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is not allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is not allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination directory should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination directory should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is not allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is not allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination directory should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory. Overwriting a directory of the same name is allowed.</summary>
      <remarks>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination directory should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String)">
      <summary>Moves a file or a directory and its contents to a new location.</summary>
      <remarks>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location.</summary>
      <remarks>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location.</summary>
      <remarks>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location.</summary>
      <remarks>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a file or a directory and its contents to a new location, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CopyMoveInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Nullable{Alphaleonis.Win32.Filesystem.CopyOptions},System.Nullable{Alphaleonis.Win32.Filesystem.MoveOptions},Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CopyMoveInternal() to copy/move a Non-/Transacted file or directory including its children to a new location,
              <para><see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> or <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,</para><para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy or Move action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>You cannot use the Move method to overwrite an existing file, unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.ReplaceExisting" />.</para>
        <para>This Move method works across disk volumes, and it does not throw an exception if the source and destination are the same. </para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an IOException.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory path.</param>
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied/moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTime(System.String,System.DateTime)">
      <summary>Sets the date and time the directory was created.</summary>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time the directory was created.</summary>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time the directory was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time the directory was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the directory was created.</summary>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the directory was created.</summary>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the directory was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the directory was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTime(System.String,System.DateTime)">
      <summary>Sets the date and time that the specified directory was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTime(System.String,System.DateTime)">
      <summary>Sets the date and time that the specified directory was last written to.</summary>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last written to.</summary>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the specified directory was last written to.</summary>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last written to.</summary>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified directory was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestamps(System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified directory, at once.</summary>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestamps(System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified directory, at once.</summary>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified directory, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified directory, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTime">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastAccessTime">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in local time.</param>
      <param name="lastWriteTime">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in local time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestampsUtc(System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified directory, at once.</summary>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestampsUtc(System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified directory, at once.</summary>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestampsUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified directory, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.SetTimestampsUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified directory, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The directory for which to set the dates and times information.</param>
      <param name="creationTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastAccessTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
      <param name="lastWriteTimeUtc">A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value is expressed in UTC time.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.TransferTimestamps(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified directories.</summary>
      <param name="sourcePath">The source directory to get the date and time stamps from.</param>
      <param name="destinationPath">The destination directory to set the date and time stamps.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This method uses BackupSemantics flag to get Timestamp changed for directories.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.TransferTimestamps(System.String,System.String)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified directories.</summary>
      <param name="sourcePath">The source directory to get the date and time stamps from.</param>
      <param name="destinationPath">The destination directory to set the date and time stamps.</param>
      <remarks>This method uses BackupSemantics flag to get Timestamp changed for directories.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.TransferTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified directories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory to get the date and time stamps from.</param>
      <param name="destinationPath">The destination directory to set the date and time stamps.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This method uses BackupSemantics flag to get Timestamp changed for directories.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.TransferTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified directories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source directory to get the date and time stamps from.</param>
      <param name="destinationPath">The destination directory to set the date and time stamps.</param>
      <remarks>This method uses BackupSemantics flag to get Timestamp changed for directories.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(System.String)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <remarks>This will only compress the root items, non recursive.</remarks>
      <param name="path">A path that describes a directory to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <remarks>This will only compress the root items, non recursive.</remarks>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <remarks>This will only compress the root items, non recursive.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <remarks>This will only compress the root items, non recursive.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(System.String)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <remarks>This will only decompress the root items, non recursive.</remarks>
      <param name="path">A path that describes a directory to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <remarks>This will only decompress the root items, non recursive.</remarks>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <remarks>This will only decompress the root items, non recursive.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <remarks>This will only decompress the root items, non recursive.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to decompress.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableCompression(System.String)">
      <summary>[AlphaFS] Disables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method disables the directory-compression attribute. It will not decompress the current contents of the directory. However, newly created files and directories will be uncompressed.</remarks>
      <param name="path">A path to a directory to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableCompression(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Disables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method disables the directory-compression attribute. It will not decompress the current contents of the directory. However, newly created files and directories will be uncompressed.</remarks>
      <param name="path">A path to a directory to decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableCompression(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Disables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method disables the directory-compression attribute. It will not decompress the current contents of the directory. However, newly created files and directories will be uncompressed.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableCompression(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Disables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method disables the directory-compression attribute. It will not decompress the current contents of the directory. However, newly created files and directories will be uncompressed.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <param name="path">A path to a directory to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableCompression(System.String)">
      <summary>[AlphaFS] Enables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method enables the directory-compression attribute. It will not compress the current contents of the directory. However, newly created files and directories will be compressed.</remarks>
      <param name="path">A path to a directory to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableCompression(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Enables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method enables the directory-compression attribute. It will not compress the current contents of the directory. However, newly created files and directories will be compressed.</remarks>
      <param name="path">A path to a directory to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableCompression(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Enables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method enables the directory-compression attribute. It will not compress the current contents of the directory. However, newly created files and directories will be compressed.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableCompression(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Enables NTFS compression of the specified directory and the files in it.</summary>
      <remarks>This method enables the directory-compression attribute. It will not compress the current contents of the directory. However, newly created files and directories will be compressed.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.CompressDecompressInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CompressDecompressInternal() to compress/decompress Non-/Transacted files/directories.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a directory to compress.</param>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in <paramref name="path" />. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="compress">
        <see langword="true" /> compress, when <see langword="false" /> decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decrypt(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a directory to decrypt.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decrypt(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a directory to decrypt.</param>
      <param name="recursive">
        <see langword="true" /> to decrypt the directory recursively. <see langword="false" /> only decrypt files and directories in the root of <paramref name="path" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decrypt(System.String)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a directory to decrypt.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Decrypt(System.String,System.Boolean)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a directory to decrypt.</param>
      <param name="recursive">
        <see langword="true" /> to decrypt the directory recursively. <see langword="false" /> only decrypt files and directories in the root of <paramref name="path" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Encrypt(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Encrypts a directory so that only the account used to encrypt the directory can decrypt it.</summary>
      <param name="path">A path that describes a directory to encrypt.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Encrypt(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Encrypts a directory so that only the account used to encrypt the directory can decrypt it.</summary>
      <param name="path">A path that describes a directory to encrypt.</param>
      <param name="recursive">
        <see langword="true" /> to encrypt the directory recursively. <see langword="false" /> only encrypt files and directories in the root of <paramref name="path" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Encrypt(System.String)">
      <summary>[AlphaFS] Encrypts a directory so that only the account used to encrypt the directory can decrypt it.</summary>
      <param name="path">A path that describes a directory to encrypt.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.Encrypt(System.String,System.Boolean)">
      <summary>[AlphaFS] Encrypts a directory so that only the account used to encrypt the directory can decrypt it.</summary>
      <param name="path">A path that describes a directory to encrypt.</param>
      <param name="recursive">
        <see langword="true" /> to encrypt the directory recursively. <see langword="false" /> only encrypt files and directories in the root of <paramref name="path" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableEncryption(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Disables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <param name="path">The name of the directory for which to disable encryption.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=0"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.DisableEncryption(System.String)">
      <summary>[AlphaFS] Disables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <param name="path">The name of the directory for which to disable encryption.</param>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=0"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableEncryption(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <param name="path">The name of the directory for which to enable encryption.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=1"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableEncryption(System.String)">
      <summary>[AlphaFS] Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <param name="path">The name of the directory for which to enable encryption.</param>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=1"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnableDisableEncryptionInternal(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <param name="path">The name of the directory for which to enable encryption.</param>
      <param name="enable">
        <see langword="true" /> enabled encryption, <see langword="false" /> disables encryption.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=0 | 1"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EncryptDecryptDirectoryInternal(System.String,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method EncryptDecryptFileInternal() to decrypt/encrypt a directory recursively so that only the account used to encrypt the directory can decrypt it.</summary>
      <param name="path">A path that describes a directory to encrypt.</param>
      <param name="encrypt">
        <see langword="true" /> encrypt, <see langword="false" /> decrypt.</param>
      <param name="recursive">
        <see langword="true" /> to decrypt the directory recursively. <see langword="false" /> only decrypt files and directories in the root of <paramref name="path" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(System.String)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in <see cref="F:System.IO.FileShare.ReadWrite" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="path">A path to a directory from which to retrieve information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in <see cref="F:System.IO.FileShare.ReadWrite" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(System.String,System.IO.FileShare)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in specified <see cref="T:System.IO.FileShare" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="shareMode">The <see cref="T:System.IO.FileShare" /> mode with which to open a handle to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(System.String,System.IO.FileShare,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in specified <see cref="T:System.IO.FileShare" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="shareMode">The <see cref="T:System.IO.FileShare" /> mode with which to open a handle to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Retrieves information about files in the directory handle specified.</summary>
      <returns>An IEnumerable of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="handle">An open handle to the directory from which to retrieve information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in <see cref="F:System.IO.FileShare.ReadWrite" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory from which to retrieve information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in <see cref="F:System.IO.FileShare.ReadWrite" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileShare)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in specified <see cref="T:System.IO.FileShare" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="shareMode">The <see cref="T:System.IO.FileShare" /> mode with which to open a handle to the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileShare,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves information about files in the directory specified by <paramref name="path" /> in specified <see cref="T:System.IO.FileShare" /> mode.</summary>
      <returns>An enumeration of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">A path to a directory from which to retrieve information.</param>
      <param name="shareMode">The <see cref="T:System.IO.FileShare" /> mode with which to open a handle to the directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.EnumerateFileIdBothDirectoryInfoInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,Microsoft.Win32.SafeHandles.SafeFileHandle,System.String,System.IO.FileShare,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method EnumerateFileIdBothDirectoryInfoInternal() to return an enumerable collection of information about files in the directory handle specified.</summary>
      <returns>An IEnumerable of <see cref="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo" /> records for each file system entry in the specified diretory.</returns>
      <remarks>Either use <paramref name="path" /> or <paramref name="safeHandle" />, not both.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="safeHandle">An open handle to the directory from which to retrieve information.</param>
      <param name="path">A path to the directory.</param>
      <param name="shareMode">The <see cref="T:System.IO.FileShare" /> mode with which to open a handle to the directory.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as ACLs protected directories or non-accessible reparse points.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="path">The target directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="path">The target directory.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(System.String)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            <para>Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object,</para><para>plus additional ones: Total, File, Size, Error</para><para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="path">The target directory.</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="path">The target directory.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The target directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The target directory.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The target directory.</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetProperties(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: Total, File, Size, Error
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The target directory.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Directory.GetPropertiesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetPropertiesInternal() to gets the properties of the particular directory without following any symbolic links or mount points.
            Properties include aggregated info from <see cref="T:System.IO.FileAttributes" /> of each encountered file system object.
            Plus additional ones: "Total", "File", "Size" and "SizeCompressed".
            <para><b>Total:</b> is the total number of enumerated objects.</para><para><b>File:</b> is the total number of files. File is considered when object is neither <see cref="F:System.IO.FileAttributes.Directory" /> nor <see cref="F:System.IO.FileAttributes.ReparsePoint" />.</para><para><b>Size:</b> is the total size of enumerated objects.</para><para><b>Size:</b> is the total compressed size of enumerated objects.</para><para><b>Error:</b> is the total number of errors encountered during enumeration.</para></summary>
      <remarks>
        <b>Directory:</b> is an object which has <see cref="F:System.IO.FileAttributes.Directory" /> attribute without <see cref="F:System.IO.FileAttributes.ReparsePoint" /> one.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The target directory.</param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A dictionary mapping the keys mentioned above to their respective aggregated values.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileSystemInfo">
      <summary>Provides the base class for both <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> and <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> objects.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileSystemInfo.FullPath">
      <summary>Represents the fully qualified path of the file or directory.</summary>
      <remarks>
        <para>Classes derived from <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> can use the FullPath field</para>
        <para>to determine the full path of the object being manipulated.</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileSystemInfo.OriginalPath">
      <summary>The path originally specified by the user, whether relative or absolute.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.Delete">
      <summary>Deletes a file or directory.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.Refresh">
      <summary>Refreshes the state of the object.</summary>
      <remarks>
        <para>FileSystemInfo.Refresh() takes a snapshot of the file from the current file system.</para>
        <para>Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information.</para>
        <para>This can happen on platforms such as Windows 98.</para>
        <para>Calls must be made to Refresh() before attempting to get the attribute information, or the information will be
              outdated.</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.ToString">
      <summary>Returns a string that represents the current object.</summary>
      <remarks>
              ToString is the major formatting method in the .NET Framework. It converts an object to its string representation so that it is
              suitable for display.
            </remarks>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.Equals(System.Object)">
      <summary>Determines whether the specified Object is equal to the current Object.</summary>
      <param name="obj">Another object to compare to.</param>
      <returns>
        <see langword="true" /> if the specified Object is equal to the current Object; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.GetHashCode">
      <summary>Serves as a hash function for a particular type.</summary>
      <returns>A hash code for the current Object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.op_Equality(Alphaleonis.Win32.Filesystem.FileSystemInfo,Alphaleonis.Win32.Filesystem.FileSystemInfo)">
      <summary>Implements the operator ==</summary>
      <param name="left">A.</param>
      <param name="right">B.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.op_Inequality(Alphaleonis.Win32.Filesystem.FileSystemInfo,Alphaleonis.Win32.Filesystem.FileSystemInfo)">
      <summary>Implements the operator !=</summary>
      <param name="left">A.</param>
      <param name="right">B.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.RefreshEntryInfo">
      <summary>Refreshes the state of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> EntryInfo instance.</summary>
      <remarks>
        <para>FileSystemInfo.RefreshEntryInfo() takes a snapshot of the file from the current file system.</para>
        <para>Refresh cannot correct the underlying file system even if the file system returns incorrect or outdated information.</para>
        <para>This can happen on platforms such as Windows 98.</para>
        <para>Calls must be made to Refresh() before attempting to get the attribute information, or the information will be outdated.</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.Reset">
      <summary>[AlphaFS] Resets the state of the file system object to uninitialized.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemInfo.InitializeInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Initializes the specified file name.</summary>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The full path and name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Attributes">
      <summary>
               Gets or sets the attributes for the current file or directory.
             </summary>
      <remarks>
        <para>The value of the CreationTime property is pre-cached</para>
        <para>To get the latest value, call the Refresh method.</para>
      </remarks>
      <value>
        <see cref="T:System.IO.FileAttributes" /> of the current <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" />.</value>
      <exception cref="T:System.IO.FileNotFoundException">The specified file does not exist.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">The specified path is invalid; for example, it is on an unmapped drive.</exception>
      <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.CreationTime">
      <summary>Gets or sets the creation time of the current file or directory.</summary>
      <remarks>
        <para>The value of the CreationTime property is pre-cached To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions whose values may not be continuously updated by
               the operating system.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return
               12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.</para>
        <para>NTFS-formatted drives may cache file meta-info, such as file creation time, for a short period of time.
               This process is known as file tunneling. As a result, it may be necessary to explicitly set the creation time of a file if you are
               overwriting or replacing an existing file.</para>
      </remarks>
      <value>The creation date and time of the current <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> object.</value>
      <exception cref="T:System.IO.DirectoryNotFoundException">The specified path is invalid; for example, it is on an unmapped drive.</exception>
      <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.CreationTimeUtc">
      <summary>
               Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.
             </summary>
      <remarks>
        <para>The value of the CreationTimeUtc property is pre-cached
               To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions
               whose values may not be continuously updated by the operating system.</para>
        <para>To get the latest value, call the Refresh method.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return
               12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).</para>
        <para>NTFS-formatted drives may cache file meta-info, such as file creation time, for a short period of time.
               This process is known as file tunneling. As a result, it may be necessary to explicitly set the creation time
               of a file if you are overwriting or replacing an existing file.</para>
      </remarks>
      <value>The creation date and time in UTC format of the current <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> object.</value>
      <exception cref="T:System.IO.DirectoryNotFoundException">The specified path is invalid; for example, it is on an unmapped drive.</exception>
      <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Exists">
      <summary>
              Gets a value indicating whether the file or directory exists.
            </summary>
      <remarks>
        <para>The <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Exists" /> property returns <see langword="false" /> if any error occurs while trying to determine if the
              specified file or directory exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a directory- or file name with invalid characters or too
              many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the file or directory.</para>
      </remarks>
      <value>
        <see langword="true" /> if the file or directory exists; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Extension">
      <summary>
              Gets the string representing the extension part of the file.
            </summary>
      <remarks>
        <para>The Extension property returns the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> extension, including the period (.).</para>
        <para>For example, for a file c:\NewFile.txt, this property returns ".txt".</para>
      </remarks>
      <value>A string containing the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> extension.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.FullName">
      <summary>
              Gets the full path of the directory or file.
            </summary>
      <value>A string containing the full path.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.LastAccessTime">
      <summary>
               Gets or sets the time the current file or directory was last accessed.
             </summary>
      <remarks>
        <para>The value of the LastAccessTime property is pre-cached
               To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions
               whose values may not be continuously updated by the operating system.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return
               12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.</para>
      </remarks>
      <value>The time that the current file or directory was last accessed.</value>
      <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.LastAccessTimeUtc">
      <summary>
               Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.
             </summary>
      <remarks>
        <para>The value of the LastAccessTimeUtc property is pre-cached.
               To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions
               whose values may not be continuously updated by the operating system.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return
               12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.</para>
      </remarks>
      <value>The UTC time that the current file or directory was last accessed.</value>
      <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.LastWriteTime">
      <summary>Gets or sets the time when the current file or directory was last written to.</summary>
      <remarks>
        <para>The value of the LastWriteTime property is pre-cached.
               To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions
               whose values may not be continuously updated by the operating system.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return
               12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.</para>
      </remarks>
      <value>The time the current file was last written.</value>
            
             ### <exception cref="T:System.IO.IOException">Refresh cannot initialize the data.</exception></member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.LastWriteTimeUtc">
      <summary>
              Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.
            </summary>
      <remarks>
        <para>The value of the LastWriteTimeUtc property is pre-cached. To get the latest value, call the Refresh method.</para>
        <para>This method may return an inaccurate value, because it uses native functions whose values may not be continuously updated by
              the operating system.</para>
        <para>If the file described in the FileSystemInfo object does not exist, this property will return 12:00 midnight, January 1, 1601
              A.D. (C.E.) Coordinated Universal Time (UTC), adjusted to local time.</para>
      </remarks>
      <value>The UTC time when the current file was last written to.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Name">
      <summary>
              For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists.
              <para>Otherwise, the Name property gets the name of the directory.</para></summary>
      <remarks>
        <para>For a directory, Name returns only the name of the parent directory, such as Dir, not c:\Dir.</para>
        <para>For a subdirectory, Name returns only the name of the subdirectory, such as Sub1, not c:\Dir\Sub1.</para>
        <para>For a file, Name returns only the file name and file name extension, such as MyFile.txt, not c:\Dir\Myfile.txt.</para>
      </remarks>
      <value>
        <para>A string that is the name of the parent directory, the name of the last directory in the hierarchy,</para>
        <para>or the name of a file, including the file name extension.</para>
      </value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.DisplayPath">
      <summary>Returns the path as a string.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.EntryInfo">
      <summary>[AlphaFS] Gets the instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> class.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.IsDirectory">
      <summary>[AlphaFS] The initial "IsDirectory" indicator that was passed to the constructor.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.LongFullName">
      <summary>The full path of the file system object in Unicode (LongPath) format.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Transaction">
      <summary>[AlphaFS] Represents the KernelTransaction that was passed to the constructor.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DirectoryInfo">
      <summary>Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.RefreshEntryInfo">
      <summary>Refreshes the state of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> EntryInfo instance.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Decrypt">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Decrypt(System.Boolean)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="recursive">
        <see langword="true" /> to decrypt the directory recursively. <see langword="false" /> only decrypt files and directories in the root of the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.DisableEncryption">
      <summary>[AlphaFS] Disables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=0"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnableEncryption">
      <summary>[AlphaFS] Enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories below the indicated directory.</summary>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
      <remarks>This method will create/change the file "Desktop.ini" and wil set Encryption value: "Disable=1"</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Encrypt">
      <summary>[AlphaFS] Encrypts a directory so that only the account used to encrypt the directory can decrypt it.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Encrypt(System.Boolean)">
      <summary>[AlphaFS] Decrypts a directory that was encrypted by the current account using the Encrypt method.</summary>
      <param name="recursive">
        <see langword="true" /> to encrypt the directory recursively. <see langword="false" /> only encrypt files and directories in the root of the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.DeleteEmptySubdirectories">
      <summary>[AlphaFS] Deletes empty subdirectories from the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.DeleteEmptySubdirectories(System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance.</summary>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.DeleteEmptySubdirectories(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes empty subdirectories from the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance.</summary>
      <param name="recursive">
        <see langword="true" /> deletes empty subdirectories from this directory and its subdirectories.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides read only <see cref="T:System.IO.FileAttributes" /> of empty directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Compress">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <remarks>This will only compress the root items, non recursive.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Compress(Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Compresses a directory using NTFS compression.</summary>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Decompress">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <remarks>This will only decompress the root items, non recursive.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Decompress(Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Decompresses an NTFS compressed directory.</summary>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.DisableCompression">
      <summary>[AlphaFS] Disables compression of the specified directory and the files in it.</summary>
      <remarks>
            This method disables the directory-compression attribute. It will not decompress the current contents of the directory.
            However, newly created files and directories will be uncompressed.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnableCompression">
      <summary>[AlphaFS] Enables compression of the specified directory and the files in it.</summary>
      <remarks>
            This method enables the directory-compression attribute. It will not compress the current contents of the directory.
            However, newly created files and directories will be compressed.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CountFileSystemObjects(Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CountFileSystemObjects(System.String,Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions)">
      <summary>[AlphaFS] Counts file system objects: files, folders or both) in a given directory.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories in path. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="options">
        <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions" /> flags that specify how the directory is to be enumerated.</param>
      <returns>The counted number of file system objects.</returns>
      <exception cref="T:System.UnauthorizedAccessException">An exception is thrown case of access errors.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String)">
      <summary>[AlphaFS] Copies a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance if the directory was completely copied.</returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing directory by default.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance if the directory was completely copied.</returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing directory by default.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies an existing directory to a new directory, allowing the overwriting of an existing directory, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new directory, or an overwrite of an existing directory if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the directory exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory, allowing the overwriting of an existing directory, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new directory, or an overwrite of an existing directory if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the directory exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing directory to a new directory, allowing the overwriting of an existing directory, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new directory, or an overwrite of an existing directory if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the directory exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing directory to a new directory, allowing the overwriting of an existing directory, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new directory, or an overwrite of an existing directory if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the directory exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the directory is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String)">
      <summary>Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path.</summary>
      <remarks>
        <para>Use this method to prevent overwriting of an existing directory by default.</para>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance if the directory was completely moved.</returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing directory by default.</para>
        <para>This method does not work across disk volumes.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance if the directory was completely moved.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />, or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance if the directory was completely moved.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />, or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />, or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance and its contents to a new path, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing directory.</para>
        <para>This method does not work across disk volumes unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">
        <para>The name and path to which to move this directory.</para>
        <para>The destination cannot be another disk volume unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />, or a directory with the identical name.</para>
        <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
      </param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CopyToMoveToInternal(System.String,System.Nullable{Alphaleonis.Win32.Filesystem.CopyOptions},System.Nullable{Alphaleonis.Win32.Filesystem.MoveOptions},Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,System.String@,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CopyMoveInternal() to copy/move a Non-/Transacted file or directory including its children to a new location,
            <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> or <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified, and the possibility of notifying the application of its progress through a callback function.
            </summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy or Move action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>You cannot use the Move method to overwrite an existing file, unless <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.ReplaceExisting" />.</para>
        <para>This Move method works across disk volumes, and it does not throw an exception if the source and destination are the same. </para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an IOException.</para>
      </remarks>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy or Move action.</returns>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The destination directory path.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="longFullPath">Returns the retrieved long full path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.ToString">
      <summary>Returns the original path that was passed by the user.</summary>
      <returns>A string that represents this object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.SetAccessControl(System.Security.AccessControl.DirectorySecurity)">
      <summary>Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the directory described by the current DirectoryInfo object.</summary>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.SetAccessControl(System.Security.AccessControl.DirectorySecurity,System.Security.AccessControl.AccessControlSections)">
      <summary>Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the directory described by the current DirectoryInfo object.</summary>
      <param name="directorySecurity">A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.</param>
      <param name="includeSections">One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to set.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Refresh">
      <summary>Refreshes the state of the object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFileSystemInfos">
      <summary>Returns an array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> entries representing all the files and subdirectories in a directory.</summary>
      <returns>An array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> entries.</returns>
      <remarks>
            For subdirectories, the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> objects returned by this method can be cast to the derived class <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.
            Use the <see cref="T:System.IO.FileAttributes" /> value returned by the <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Attributes" /> property to determine whether the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> represents a file or a directory.
            </remarks>
      <remarks>
            If there are no files or directories in the DirectoryInfo, this method returns an empty array. This method is not recursive.
            For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo.
            Use the FileAttributes value returned by the Attributes property to determine whether the FileSystemInfo represents a file or a directory.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFileSystemInfos(System.String)">
      <summary>Retrieves an array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> objects representing the files and subdirectories that match the specified search criteria.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> entries.</returns>
      <remarks>
            For subdirectories, the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> objects returned by this method can be cast to the derived class <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.
            Use the <see cref="T:System.IO.FileAttributes" /> value returned by the <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Attributes" /> property to determine whether the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> represents a file or a directory.
            </remarks>
      <remarks>
            If there are no files or directories in the DirectoryInfo, this method returns an empty array. This method is not recursive.
            For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo.
            Use the FileAttributes value returned by the Attributes property to determine whether the FileSystemInfo represents a file or a directory.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFileSystemInfos(System.String,System.IO.SearchOption)">
      <summary>Retrieves an array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> objects representing the files and subdirectories that match the specified search criteria.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An array of strongly typed <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> entries.</returns>
      <remarks>
            For subdirectories, the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> objects returned by this method can be cast to the derived class <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.
            Use the <see cref="T:System.IO.FileAttributes" /> value returned by the <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemInfo.Attributes" /> property to determine whether the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> represents a file or a directory.
            </remarks>
      <remarks>
            If there are no files or directories in the DirectoryInfo, this method returns an empty array. This method is not recursive.
            For subdirectories, the FileSystemInfo objects returned by this method can be cast to the derived class DirectoryInfo.
            Use the FileAttributes value returned by the Attributes property to determine whether the FileSystemInfo represents a file or a directory.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFiles">
      <summary>Returns a file list from the current directory.</summary>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />.</returns>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required.</remarks>
      <remarks>If there are no files in the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, this method returns an empty array.</remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFiles(System.String)">
      <summary>Returns a file list from the current directory matching the given search pattern.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />.</returns>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required.</remarks>
      <remarks>If there are no files in the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, this method returns an empty array.</remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetFiles(System.String,System.IO.SearchOption)">
      <summary>Returns a file list from the current directory matching the given search pattern and using a value to determine whether to search subdirectories.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />.</returns>
      <remarks>The order of the returned file names is not guaranteed; use the Sort() method if a specific sort order is required.</remarks>
      <remarks>If there are no files in the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, this method returns an empty array.</remarks>
      <remarks>
            The EnumerateFiles and GetFiles methods differ as follows: When you use EnumerateFiles, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetFiles, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateFiles can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetDirectories">
      <summary>Returns the subdirectories of the current directory.</summary>
      <returns>An array of <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> objects.</returns>
      <remarks>If there are no subdirectories, this method returns an empty array. This method is not recursive.</remarks>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetDirectories(System.String)">
      <summary>Returns an array of directories in the current <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> matching the given search criteria.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> matching <paramref name="searchPattern" />.</returns>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetDirectories(System.String,System.IO.SearchOption)">
      <summary>Returns an array of directories in the current <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> matching the given search criteria and using a value to determine whether to search subdirectories.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> matching <paramref name="searchPattern" />.</returns>
      <remarks>If there are no subdirectories, or no subdirectories match the searchPattern parameter, this method returns an empty array.</remarks>
      <remarks>
            The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names
            before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array.
            Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetAccessControl">
      <summary>Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control list (ACL) entries for the directory described by the current DirectoryInfo object.</summary>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.GetAccessControl(System.Security.AccessControl.AccessControlSections)">
      <summary>Gets a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the specified type of access control list (ACL) entries for the directory described by the current <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> object.</summary>
      <param name="includeSections">One of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to receive.</param>
      <returns>A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that encapsulates the access control rules for the file described by the path parameter.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFileSystemInfos">
      <summary>Returns an enumerable collection of file system information in the current directory.</summary>
      <returns>An enumerable collection of file system information in the current directory. </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFileSystemInfos(System.String)">
      <summary>Returns an enumerable collection of file system information that matches a specified search pattern.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of file system information objects that matches <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFileSystemInfos(System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of file system information that matches a specified search pattern and search subdirectory option.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of file system information objects that matches <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFiles">
      <summary>Returns an enumerable collection of file information in the current directory.</summary>
      <returns>An enumerable collection of the files in the current directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFiles(System.String)">
      <summary>Returns an enumerable collection of file information that matches a search pattern.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of files that matches <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateFiles(System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of file information that matches a specified search pattern and search subdirectory option.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of files that matches <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateDirectories">
      <summary>Returns an enumerable collection of directory information in the current directory.</summary>
      <returns>An enumerable collection of directories in the current directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateDirectories(System.String)">
      <summary>Returns an enumerable collection of directory information that matches a specified search pattern.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <returns>An enumerable collection of directories that matches <paramref name="searchPattern" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.EnumerateDirectories(System.String,System.IO.SearchOption)">
      <summary>Returns an enumerable collection of directory information that matches a specified search pattern and search subdirectory option.</summary>
      <param name="searchPattern">
        <para>The search string to match against the names of directories. This parameter can contain a</para>
        <para>combination of valid literal path and wildcard (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />)</para>
        <para>characters, but does not support regular expressions.</para>
      </param>
      <param name="searchOption">
        <para>One of the <see cref="T:System.IO.SearchOption" /> enumeration values that specifies whether the <paramref name="searchOption" /></para>
        <para> should include only the current directory or should include all subdirectories.</para>
      </param>
      <returns>An enumerable collection of directories that matches <paramref name="searchPattern" /> and <paramref name="searchOption" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Delete">
      <summary>Deletes this <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> if it is empty.</summary>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Delete(System.Boolean)">
      <summary>Deletes this instance of a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, specifying whether to delete subdirectories and files.</summary>
      <remarks>
        <para>If the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> has no files or subdirectories, this method deletes the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> even if recursive is <see langword="false" />.</para>
        <para>Attempting to delete a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> that is not empty when recursive is false throws an <see cref="T:System.IO.IOException" />.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="recursive">
        <see langword="true" /> to delete this directory, its subdirectories, and all files; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Delete(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Deletes this instance of a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />, specifying whether to delete files and subdirectories.</summary>
      <remarks>
        <para>If the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> has no files or subdirectories, this method deletes the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> even if recursive is <see langword="false" />.</para>
        <para>Attempting to delete a <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> that is not empty when recursive is false throws an <see cref="T:System.IO.IOException" />.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.DirectoryNotFoundException" />
      <param name="recursive">
        <see langword="true" /> to delete this directory, its subdirectories, and all files; otherwise, <see langword="false" />.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> ignores read only attribute of files and directories.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String)">
      <summary>Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String,System.Security.AccessControl.DirectorySecurity)">
      <summary>Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <param name="directorySecurity">The <see cref="T:System.Security.AccessControl.DirectorySecurity" /> security to apply.</param>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String,System.Boolean)">
      <summary>[AlphaFS] Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <param name="directorySecurity">The <see cref="T:System.Security.AccessControl.DirectorySecurity" /> security to apply.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectory(System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class.</summary>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="path">The specified path. This cannot be a different disk volume.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <param name="directorySecurity">The <see cref="T:System.Security.AccessControl.DirectorySecurity" /> security to apply.</param>
      <returns>The last directory specified in <paramref name="path" />.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.CreateSubdirectoryInternal(System.String,System.String,System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Unified method CreateSubdirectory() to create a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the DirectoryInfo class.</summary>
      <returns>The last directory specified in path as an <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> object.</returns>
      <remarks>
            Any and all directories specified in path are created, unless some part of path is invalid.
            The path parameter specifies a directory path, not a file path.
            If the subdirectory already exists, this method does nothing.
            </remarks>
      <param name="path">The specified path. This cannot be a different disk volume or Universal Naming Convention (UNC) name.</param>
      <param name="templatePath">The path of the directory to use as a template when creating the new directory.</param>
      <param name="directorySecurity">The <see cref="T:System.Security.AccessControl.DirectorySecurity" /> security to apply.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Create">
      <summary>Creates a directory.</summary>
      <remarks>If the directory already exists, this method does nothing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Create(System.Security.AccessControl.DirectorySecurity)">
      <summary>Creates a directory using a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object.</summary>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <remarks>If the directory already exists, this method does nothing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Create(System.Boolean)">
      <summary>[AlphaFS] Creates a directory using a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object.</summary>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <remarks>If the directory already exists, this method does nothing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.Create(System.Security.AccessControl.DirectorySecurity,System.Boolean)">
      <summary>[AlphaFS] Creates a directory using a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object.</summary>
      <param name="directorySecurity">The access control to apply to the directory.</param>
      <param name="compress">When <see langword="true" /> compresses the directory.</param>
      <remarks>If the directory already exists, this method does nothing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class on the specified path.</summary>
      <param name="path">The path on which to create the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.</param>
      <remarks>
            This constructor does not check if a directory exists. This constructor is a placeholder for a string that is used to access the disk in subsequent operations.
            The path parameter can be a file name, including a file on a Universal Naming Convention (UNC) share.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.#ctor(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class on the specified path.</summary>
      <param name="path">The path on which to create the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This constructor does not check if a directory exists. This constructor is a placeholder for a string that is used to access the disk in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Special internal implementation.</summary>
      <param name="transaction">The transaction.</param>
      <param name="fullPath">The full path on which to create the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.</param>
      <param name="junk1">Not used.</param>
      <param name="junk2">Not used.</param>
      <remarks>This constructor does not check if a directory exists. This constructor is a placeholder for a string that is used to access the disk in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class on the specified path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path on which to create the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.</param>
      <remarks>This constructor does not check if a directory exists. This constructor is a placeholder for a string that is used to access the disk in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryInfo.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> class on the specified path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path on which to create the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This constructor does not check if a directory exists. This constructor is a placeholder for a string that is used to access the disk in subsequent operations.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DirectoryInfo.Exists">
      <summary>
              Gets a value indicating whether the directory exists.
            </summary>
      <remarks>
        <para>The <see cref="P:Alphaleonis.Win32.Filesystem.DirectoryInfo.Exists" /> property returns <see langword="false" /> if any error occurs while trying to determine if the
              specified directory exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a directory name with invalid characters or too many
              characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the directory.</para>
      </remarks>
      <value>
        <see langword="true" /> if the directory exists; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DirectoryInfo.Name">
      <summary>Gets the name of this <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> instance.</summary>
      <value>The directory name.</value>
      <remarks>
        <para>This Name property returns only the name of the directory, such as "Bin".</para>
        <para>To get the full path, such as "c:\public\Bin", use the FullName property.</para>
      </remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DirectoryInfo.Parent">
      <summary>Gets the parent directory of a specified subdirectory.</summary>
      <value>The parent directory, or null if the path is null or if the file path denotes a root (such as "\", "C:", or * "\\server\share").</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DirectoryInfo.Root">
      <summary>Gets the root portion of the directory.</summary>
      <value>An object that represents the root of the directory.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.PathFormat">
      <summary>Indicates the format of a path passed to a method.</summary>
      <remarks>
            At some point in code you know the full path of file system objects, e.g.: "C:\Windows".
            For example, Directory.EnumerateFileSystemEntries() will return all files and directories from a given path.
            Most likely, some processing will happen on the results of the enum. The file or directory may be passed
            on to another function. Whenever a file path is required, some performance can be gained.
            <para> </para>
            A path like: "C:\Windows" or "\\server\share" is considered a full path for a directory because it is rooted and has a drive/unc path.
            If the method supports it, <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.FullPath" /> and <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.LongFullPath" /> will skip GetFullPath()
            calls for path resolving of the object, while also avoiding path validation and checks.
            Using <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.RelativePath" /> (default) will always call GetFullPath() and perform path validation and checks.
            <para> </para>
            When working in a loop with thousands of files, <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.LongFullPath" /> will give the best performance.
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.PathFormat.RelativePath">
      <summary>The format of the path is automatically detected by the method and internally converted to an extended length path.
            It can be either a standard (short) full path, an extended length (unicode) full path or a relative path.
            <para>Example relative path: "Windows".</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.PathFormat.FullPath">
      <summary>The path is a full path in either normal or extended length (UNICODE) format.
            Internally it will be converted to an extended length (UNICODE) path.
            Using this option has a very slight performance advantage compared to using <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.RelativePath" />.
            <para>Example full path: "C:\Windows" or "\\server\share".</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.PathFormat.LongFullPath">
      <summary>The path is an extended length path. No additional processing will be done on the path, and it will be used as is.
            Using this option has a slight performance advantage compared to using <see cref="F:Alphaleonis.Win32.Filesystem.PathFormat.RelativePath" />.
            <para>Example long full path: "\\?\C:\Windows" or "\\?\UNC\server\share".</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.AlreadyExistsException">
      <summary>
            The exception that is thrown when an attempt to create a directory or file that already exists was made.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlreadyExistsException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.AlreadyExistsException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlreadyExistsException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.AlreadyExistsException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlreadyExistsException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.AlreadyExistsException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.AlreadyExistsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.AlreadyExistsException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DeviceNotReadyException">
      <summary>
            The requested operation could not be completed because the device was not ready.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceNotReadyException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceNotReadyException" /> class.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceNotReadyException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceNotReadyException" /> class.
            </summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceNotReadyException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceNotReadyException" /> class.
            </summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceNotReadyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceNotReadyException" /> class.
            </summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException">
      <summary>The operation could not be completed because the directory is read-only.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryReadOnlyException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException">
      <summary>The operation could not be completed because the directory was not empty.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryNotEmptyException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileReadOnlyException">
      <summary>The operation could not be completed because the file is read-only.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileReadOnlyException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileReadOnlyException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileReadOnlyException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileReadOnlyException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileReadOnlyException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileReadOnlyException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileReadOnlyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileReadOnlyException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.File">
      <summary>Provides static methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.
              <para>This class cannot be inherited.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateAlternateDataStreams(System.String)">
      <summary>Enumerates the streams of type :$DATA in the specified file or directory.</summary>
      <param name="path">The path to the file or directory to enumerate streams of.</param>
      <returns>The streams of type :$DATA in the specified file or directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateAlternateDataStreams(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Enumerates the streams of type :$DATA in the specified file or directory.</summary>
      <param name="path">The path to the file or directory to enumerate streams of.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The streams of type :$DATA in the specified file or directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateAlternateDataStreams(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Enumerates the streams of type :$DATA in the specified file or directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory to enumerate streams of.</param>
      <returns>The streams of type :$DATA in the specified file or directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateAlternateDataStreams(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Enumerates the streams of type :$DATA in the specified file or directory.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory to enumerate streams of.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The streams of type :$DATA in the specified file or directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateHardlinks(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates an enumeration of all the hard links to the specified <paramref name="path" />.</summary>
      <param name="path">The name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all the hard links to the specified <paramref name="path" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateHardlinks(System.String)">
      <summary>[AlphaFS] Creates an enumeration of all the hard links to the specified <paramref name="path" />.</summary>
      <param name="path">The name of the file.</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all the hard links to the specified <paramref name="path" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateHardlinks(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates an enumeration of all the hard links to the specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all the hard links to the specified <paramref name="path" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateHardlinks(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Creates an enumeration of all the hard links to the specified <paramref name="path" />.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all the hard links to the specified <paramref name="path" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EnumerateHardlinksInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates an enumeration of all the hard links to the specified <paramref name="path" />.</summary>
      <exception cref="T:System.PlatformNotSupportedException">Thrown when a Platform Not Supported error condition occurs.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all the hard links to the specified <paramref name="path" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateSymbolicLink(System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a symbolic link.</summary>
      <param name="symlinkFileName">The name of the target for the symbolic link to be created.</param>
      <param name="targetFileName">The symbolic link to be created.</param>
      <param name="targetType">Indicates whether the link target, <paramref name="targetFileName" />, is a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateSymbolicLink(System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget)">
      <summary>[AlphaFS] Creates a symbolic link.</summary>
      <param name="symlinkFileName">The name of the target for the symbolic link to be created.</param>
      <param name="targetFileName">The symbolic link to be created.</param>
      <param name="targetType">Indicates whether the link target, <paramref name="targetFileName" />, is a file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateSymbolicLink(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a symbolic link.</summary>
      <param name="transaction">The transaction.</param>
      <param name="symlinkFileName">The name of the target for the symbolic link to be created.</param>
      <param name="targetFileName">The symbolic link to be created.</param>
      <param name="targetType">Indicates whether the link target, <paramref name="targetFileName" />, is a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateSymbolicLink(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget)">
      <summary>[AlphaFS] Creates a symbolic link.</summary>
      <param name="transaction">The transaction.</param>
      <param name="symlinkFileName">The name of the target for the symbolic link to be created.</param>
      <param name="targetFileName">The symbolic link to be created.</param>
      <param name="targetType">Indicates whether the link target, <paramref name="targetFileName" />, is a file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateSymbolicLinkInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CreateSymbolicLinkInternal() to create a symbolic link.</summary>
      <param name="transaction">The transaction.</param>
      <param name="symlinkFileName">The name of the target for the symbolic link to be created.</param>
      <param name="targetFileName">The symbolic link to be created.</param>
      <param name="targetType">Indicates whether the link target, <paramref name="targetFileName" />, is a file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateHardlink(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system,
              and only for files, not directories.
            </summary>
      <param name="fileName">The name of the new file. This parameter cannot specify the name of a directory.</param>
      <param name="existingFileName">The name of the existing file. This parameter cannot specify the name of a directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateHardlink(System.String,System.String)">
      <summary>
              [AlphaFS] Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system,
              and only for files, not directories.
            </summary>
      <param name="fileName">The name of the new file. This parameter cannot specify the name of a directory.</param>
      <param name="existingFileName">The name of the existing file. This parameter cannot specify the name of a directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateHardlink(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system,
              and only for files, not directories.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="fileName">The name of the new file. This parameter cannot specify the name of a directory.</param>
      <param name="existingFileName">The name of the existing file. This parameter cannot specify the name of a directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateHardlink(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>
              [AlphaFS] Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system,
              and only for files, not directories.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="fileName">The name of the new file. This parameter cannot specify the name of a directory.</param>
      <param name="existingFileName">The name of the existing file. This parameter cannot specify the name of a directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateHardlinkInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method CreateHardlinkInternal() to establish a hard link between an existing file and a new file. This function
              is only supported on the NTFS file system, and only for files, not directories.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown when the requested operation is not supported.</exception>
      <param name="transaction">The transaction.</param>
      <param name="fileName">The name of the new file. This parameter cannot specify the name of a directory.</param>
      <param name="existingFileName">The name of the existing file. This parameter cannot specify the name of a directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Compress(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a file using NTFS compression.</summary>
      <param name="path">A path that describes a file to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Compress(System.String)">
      <summary>[AlphaFS] Compresses a file using NTFS compression.</summary>
      <param name="path">A path that describes a file to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Compresses a file using NTFS compression.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a file to compress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Compress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Compresses a file using NTFS compression.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a file to compress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decompress(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed file.</summary>
      <param name="path">A path that describes a file to decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decompress(System.String)">
      <summary>[AlphaFS] Decompresses an NTFS compressed file.</summary>
      <param name="path">A path that describes a file to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decompresses an NTFS compressed file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a file to decompress.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decompress(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Decompresses an NTFS compressed file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a file to decompress.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(System.String)">
      <summary>Deletes the specified file.</summary>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
      <param name="path">
              The name of the file to be deleted. Wildcard characters are not supported.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified file.</summary>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
      <param name="path">
              The name of the file to be deleted. Wildcard characters are not supported.
            </param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(System.String,System.Boolean)">
      <summary>[AlphaFS] Deletes the specified file.</summary>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
      <param name="path">
              The name of the file to be deleted. Wildcard characters are not supported.
            </param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Deletes the specified file.</summary>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">
              The name of the file to be deleted. Wildcard characters are not supported.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Deletes the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file to be deleted. Wildcard characters are not supported.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Delete(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean)">
      <summary>[AlphaFS] Deletes the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file to be deleted. Wildcard characters are not supported.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.</param>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.DeleteFileInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method DeleteFileInternal() to delete a Non-/Transacted file.</summary>
      <remarks>If the file to be deleted does not exist, no exception is thrown.</remarks>
      <exception cref="T:System.UnauthorizedAccessException">Thrown when an Unauthorized Access error condition occurs.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file to be deleted.</param>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decrypt(System.String)">
      <summary>Decrypts a file that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a file to decrypt.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Decrypt(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Decrypts a file that was encrypted by the current account using the Encrypt method.</summary>
      <param name="path">A path that describes a file to decrypt.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Encrypt(System.String)">
      <summary>Encrypts a file so that only the account used to encrypt the file can decrypt it.</summary>
      <param name="path">A path that describes a file to encrypt.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Encrypt(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Encrypts a file so that only the account used to encrypt the file can decrypt it.</summary>
      <param name="path">A path that describes a file to encrypt.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.EncryptDecryptFileInternal(System.Boolean,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method EncryptDecryptFileInternal() to decrypt/encrypt a file or directory so that only the account used to
              encrypt the file can decrypt it.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown when the requested operation is not supported.</exception>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="path">A path that describes a file to encrypt.</param>
      <param name="encrypt">
        <see langword="true" /> encrypt, <see langword="false" /> decrypt.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateText(System.String)">
      <summary>Creates or opens a file for writing UTF-8 encoded text.</summary>
      <param name="path">The file to be opened for writing.</param>
      <returns>A StreamWriter that writes to the specified file using UTF-8 encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateText(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates or opens a file for writing UTF-8 encoded text.</summary>
      <param name="path">The file to be opened for writing.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A StreamWriter that writes to the specified file using UTF-8 encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateText(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates or opens a file for writing UTF-8 encoded text.</summary>
      <param name="path">The file to be opened for writing.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A StreamWriter that writes to the specified file using UTF-8 encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Creates or opens a file for writing UTF-8 encoded text.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for writing.</param>
      <returns>A StreamWriter that writes to the specified file using UTF-8 encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates or opens a file for writing UTF-8 encoded text.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for writing.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A StreamWriter that writes to the specified file using UTF-8 encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateTextInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method CreateTextInternal() to create or open a file for writing <see cref="T:System.Text.Encoding" /> encoded text.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for writing.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.StreamWriter" /> that writes to the specified file using NativeMethods.DefaultFileBufferSize encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String)">
      <summary>Copies an existing file to a new file. Overwriting a file of the same name is not allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory or an existing file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,System.Boolean)">
      <summary>Copies an existing file to a new file. Overwriting a file of the same name is allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is not allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is not allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory or an existing file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is not allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.</summary>
      <remarks>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy. </param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="overwrite">
        <see langword="true" /> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Copy(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed.  <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>The attributes of the original file are retained in the copied file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The file to copy.</param>
      <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String)">
      <summary>Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Move(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="T:System.IO.IOException" />.</para>
        <para>You cannot use the Move method to overwrite an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The name of the file to move.</param>
      <param name="destinationFileName">The new path for the file.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CopyMoveInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Boolean,System.Nullable{Alphaleonis.Win32.Filesystem.CopyOptions},System.Nullable{Alphaleonis.Win32.Filesystem.MoveOptions},Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CopyMoveInternal() to copy/move a Non-/Transacted file or directory including its children to a new location,
              <para><see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> or <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified, and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy or Move action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>You cannot use the Move method to overwrite an existing file, unless
              <paramref name="moveOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.ReplaceExisting" />.</para>
        <para>This Move method works across disk volumes, and it does not throw an exception if the
              source and destination are the same. </para>
        <para>Note that if you attempt to replace a file by moving a file of the same name into
              that directory, you get an IOException.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="isFolder">Specifies that <paramref name="sourceFileName" /> and <paramref name="destinationFileName" /> are a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="sourceFileName">The source directory path.</param>
      <param name="destinationFileName">The destination directory path.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise. This parameter is ignored for move operations.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied. This parameter can be <see langword="null" />.</param>
      <param name="moveOptions">Flags that specify how the file or directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied/moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(System.String,System.Collections.Generic.IEnumerable{System.String})">
      <summary>Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file, writes the
              specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding)">
      <summary>Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file, writes the
              specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file,
              writes the specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not
              exist, this method creates a file, writes the specified lines to the file, and then closes
              the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories.
              Therefore, the value of the path parameter must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">
              The file to append the lines to. The file is created if it doesn't already exist.
            </param>
      <param name="contents">The lines to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String})">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file,
              writes the specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding)">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file,
              writes the specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file, writes the
              specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file,
              writes the specified lines to the file, and then closes the file.
            </summary>
      <remarks>
              The method creates the file if it doesn't exist, but it doesn't create new directories. Therefore, the value of the path parameter
              must contain existing directories.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the lines to. The file is created if it doesn't already exist.</param>
      <param name="contents">The lines to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(System.String,System.String)">
      <summary>Appends the specified stringto the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(System.String,System.String,System.Text.Encoding)">
      <summary>Appends the specified string to the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends the specified stringto the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(System.String,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends the specified string to the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Appends the specified stringto the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Appends the specified string to the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends the specified stringto the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Appends the specified string to the file, creating the file if it does not already exist.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to append the specified string to.</param>
      <param name="contents">The string to append to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.Collections.Generic.IEnumerable{System.String})">
      <summary>Creates a new file, writes a collection of strings to the file, and then closes the file.</summary>
      <remarks>The default behavior of the method is to write out data by using UTF-8 encoding without a byte order mark (BOM).</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.String[])">
      <summary>Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding)">
      <summary>Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.String[],System.Text.Encoding)">
      <summary>Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file, writes a collection of strings to the file, and then closes the file.</summary>
      <remarks>The default behavior of the method is to write out data by using UTF-8 encoding without a byte order mark (BOM).</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.String[],Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(System.String,System.String[],System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String})">
      <summary>[AlphaFS] Creates a new file, writes a collection of strings to the file, and then closes the file.</summary>
      <remarks>The default behavior of the method is to write out data by using UTF-8 encoding without a byte order mark (BOM).</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String[])">
      <summary>[AlphaFS] Creates a new file, writes a collection of strings to the file, and then closes the file.</summary>
      <remarks>The default behavior of the method is to write out data by using UTF-8 encoding without a byte order mark (BOM).</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String[],System.Text.Encoding)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file, writes a collection of strings to the file, and then closes the file.</summary>
      <remarks>The default behavior of the method is to write out data by using UTF-8 encoding without a byte order mark (BOM).</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String[],Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String[],System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string array to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(System.String,System.String)">
      <summary>Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <remarks>This method uses UTF-8 encoding without a Byte-Order Mark (BOM)</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(System.String,System.String,System.Text.Encoding)">
      <summary>Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <remarks>This method uses UTF-8 encoding without a Byte-Order Mark (BOM)</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(System.String,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Creates a new file as part of a transaction, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <remarks>This method uses UTF-8 encoding without a Byte-Order Mark (BOM)</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Creates a new file as part of a transaction, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file as part of a transaction, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <remarks>This method uses UTF-8 encoding without a Byte-Order Mark (BOM)</remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Creates a new file as part of a transaction, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The string to write to the file.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAppendAllLinesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Collections.Generic.IEnumerable{System.String},System.Text.Encoding,System.Boolean,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method WriteAppendAllLinesInternal() to create/append a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">
      </exception>
      <exception cref="T:System.NotSupportedException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.IO.FileNotFoundException">
      </exception>
      <exception cref="T:System.IO.IOException">
      </exception>
      <exception cref="T:System.Security.SecurityException">
      </exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">
      </exception>
      <exception cref="T:System.UnauthorizedAccessException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="contents">The lines to write to the file.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="isAppend">
        <see langword="true" /> for file Append, <see langword="false" /> for file Write.</param>
      <param name="addNewLine">
        <see langword="true" /> to a line terminator, <see langword="false" /> to ommit the line terminator.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(System.String)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or to a new
              file if the specified file does not exist.
            </summary>
      <param name="path">The path to the file to append to.</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="path">The path to the file to append to.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="path">The path to the file to append to.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(System.String,System.Text.Encoding)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="path">The path to the file to append to.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file to append to.</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file to append to.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file to append to.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding)">
      <summary>
              Creates a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding encoded text to an existing file, or
              to a new file if the specified file does not exist.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file to append to.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.AppendTextInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Unified method AppendTextInternal() to create a <see cref="T:System.IO.StreamWriter" /> that appends NativeMethods.DefaultFileEncoding
              encoded text to an existing file, or to a new file if the specified file does not exist.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown when an IO failure occurred.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file to append to.</param>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A stream writer that appends NativeMethods.DefaultFileEncoding encoded text to the specified file or to a new file.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String)">
      <summary>Creates or overwrites a file in the specified path.</summary>
      <param name="path">The path and name of the file to create.</param>
      <returns>A <see cref="T:System.IO.FileStream" /> that provides read/write access to the file specified in <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32)">
      <summary>Creates or overwrites the specified file.</summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> with the specified buffer size that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32,System.IO.FileOptions)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <returns>A new file with the specified buffer size.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <param name="fileSecurity">
              One of the <see cref="T:System.Security.AccessControl.FileSecurity" /> values that determines the access control and audit security for the file.
            </param>
      <returns>A new file with the specified buffer size, file options, and file security.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Creates or overwrites a file in the specified path.</summary>
      <param name="path">The path and name of the file to create.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Creates or overwrites the specified file.</summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> with the specified buffer size that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32,System.IO.FileOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">
              The number of bytes buffered for reads and writes to the file.
            </param>
      <param name="options">
              One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the
              file.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A new file with the specified buffer size.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">
              The number of bytes buffered for reads and writes to the file.
            </param>
      <param name="options">
              One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the
              file.
            </param>
      <param name="fileSecurity">
              One of the <see cref="T:System.Security.AccessControl.FileSecurity" /> values that determines the access control and audit
              security for the file.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A new file with the specified buffer size, file options, and file security.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>Creates or overwrites a file in the specified path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path and name of the file to create.</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32)">
      <summary>Creates or overwrites the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">
              The number of bytes buffered for reads and writes to the file.
            </param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> with the specified buffer size that provides read/write access
              to the file specified in <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32,System.IO.FileOptions)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <returns>A new file with the specified buffer size.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <param name="fileSecurity">
              One of the <see cref="T:System.Security.AccessControl.FileSecurity" /> values that determines the access control and audit security for the file.
            </param>
      <returns>A new file with the specified buffer size, file options, and file security.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Creates or overwrites a file in the specified path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path and name of the file to create.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Creates or overwrites the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> with the specified buffer size that provides read/write access to the file specified in
              <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32,System.IO.FileOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A new file with the specified buffer size.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Create(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              Creates or overwrites the specified file, specifying a buffer size and a
              <see cref="T:System.IO.FileOptions" /> value that describes how to create or overwrite the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <param name="options">One of the <see cref="T:System.IO.FileOptions" /> values that describes how to create or overwrite the file.</param>
      <param name="fileSecurity">
              One of the <see cref="T:System.Security.AccessControl.FileSecurity" /> values that determines the access control and audit security for the file.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A new file with the specified buffer size, file options, and file security.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateFileStreamInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.Security.AccessControl.FileSecurity,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method CreateFileInternal() to create or overwrite a file in the specified path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file.</param>
      <param name="attributes">The <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> additional advanced options to create a file.</param>
      <param name="fileSecurity">
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> instance that determines the access control and audit security for the file.
            </param>
      <param name="mode">The <see cref="T:System.IO.FileMode" /> option gives you more precise control over how you want to create a file.</param>
      <param name="access">
              The <see cref="T:System.IO.FileAccess" /> allow you additionally specify to default read/write capability - just write, bypassing any cache.
            </param>
      <param name="share">
              The <see cref="T:System.IO.FileShare" /> option controls how you would like to share created file with other requesters.
            </param>
      <param name="pathFormat">Indicates the format of the <paramref name="path" /> parameter.</param>
      <param name="bufferSize">The number of bytes buffered for reads and writes to the file.</param>
      <returns>Returns a <see cref="T:System.IO.FileStream" /> that provides read/write access to the file specified in path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.CreateFileInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.Security.AccessControl.FileSecurity,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method CreateFileInternal() to create or open a file, directory or I/O device.</summary>
      <returns>Returns a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> that provides read/write access to the file or directory specified by <paramref name="path" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <remarks>
        <para>To obtain a directory handle using CreateFile, specify the FILE_FLAG_BACKUP_SEMANTICS flag as part of
              dwFlagsAndAttributes.</para>
        <para>The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape
              drive,</para>
        <para>communications resource, mailslot, and pipe.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path and name of the file or directory to create.</param>
      <param name="attributes">
              One of the <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> values that describes how to create or overwrite the file or directory.
            </param>
      <param name="fileSecurity">
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> instance that determines the access control and audit security for the file or directory.
            </param>
      <param name="fileMode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file or directory.</param>
      <param name="fileSystemRights">
              A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the
              file or directory.
            </param>
      <param name="fileShare">
              A <see cref="T:System.IO.FileShare" /> constant that determines how the file or directory will be shared by processes.
            </param>
      <param name="checkPath">.</param>
      <param name="pathFormat">Indicates the format of the <paramref name="path" /> parameter.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Exists(System.String)">
      <summary>Determines whether the specified file exists.</summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to
              determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters, a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
        <para>The Exists method should not be used for path validation,
              this method merely checks if the file specified in path exists.</para>
        <para>Passing an invalid path to Exists returns false.</para>
        <para>Be aware that another process can potentially do something with the file in
              between the time you call the Exists method and perform another operation on the file, such as Delete.</para>
      </remarks>
      <param name="path">The file to check.</param>
      <returns>
              Returns <see langword="true" /> if the caller has the required permissions and
              <paramref name="path" /> contains the name of an existing file; otherwise,
              <see langword="false" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Exists(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Determines whether the specified file exists.</summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to
              determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
        <para>The Exists method should not be used for path validation, this method merely checks
              if the file specified in path exists.</para>
        <para>Passing an invalid path to Exists returns false.</para>
        <para>Be aware that another process can potentially do something with the file in
              between the time you call the Exists method and perform another operation on the file, such
              as Delete.</para>
      </remarks>
      <param name="path">The file to check.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
        <para>Returns <see langword="true" /> if the caller has the required permissions and
              <paramref name="path" /> contains the name of an existing file; otherwise,
              <see langword="false" /></para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Exists(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>
              [AlphaFS] Determines whether the specified file exists.
            </summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to
              determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
        <para>The Exists method should not be used for path validation,</para>
        <para>this method merely checks if the file specified in path exists.</para>
        <para>Passing an invalid path to Exists returns false.</para>
        <para>Be aware that another process can potentially do something with the file in
              between</para>
        <para>the time you call the Exists method and perform another operation on the file, such
              as Delete.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to check.</param>
      <returns>
        <para>Returns <see langword="true" /> if the caller has the required permissions</para>
        <para>and <paramref name="path" /> contains the name of an existing file; otherwise,
              <see langword="false" /></para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Exists(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Determines whether the specified file exists.
            </summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the
              <paramref name="path" /> parameter before checking whether the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to
              determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with
              invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the
              file.</para>
        <para>The Exists method should not be used for path validation,</para>
        <para>this method merely checks if the file specified in path exists.</para>
        <para>Passing an invalid path to Exists returns false.</para>
        <para>Be aware that another process can potentially do something with the file in
              between</para>
        <para>the time you call the Exists method and perform another operation on the file, such
              as Delete.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to check.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
        <para>Returns <see langword="true" /> if the caller has the required permissions</para>
        <para>and <paramref name="path" /> contains the name of an existing file; otherwise,
              <see langword="false" /></para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ExistsInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method ExistsInternal() to determine whether the specified file or directory exists.</summary>
      <remarks>
        <para>MSDN: .NET 3.5+: Trailing spaces are removed from the end of the <paramref name="path" /> parameter before checking whether
              the directory exists.</para>
        <para>The Exists method returns <see langword="false" /> if any error occurs while trying to determine if the specified file
              exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters,
              </para>
        <para>a failing or missing disk, or if the caller does not have permission to read the file.</para>
        <para>The Exists method should not be used for path validation,
              this method merely checks if the file specified in path exists.</para>
        <para>Passing an invalid path to Exists returns false.</para>
        <para>Be aware that another process can potentially do something with the file in between
              the time you call the Exists method and perform another operation on the file, such as Delete.</para>
      </remarks>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to check.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
        <para>Returns <see langword="true" /> if the caller has the required permissions</para>
        <para>and <paramref name="path" /> contains the name of an existing file or directory; otherwise, <see langword="false" /></para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAccessControl(System.String)">
      <summary>
              Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL)
              entries for a specified file.
            </summary>
      <param name="path">
              The path to a file containing a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes the file's
              access control list (ACL) information.
            </param>
      <returns>
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control rules for the file
              described by the <paramref name="path" /> parameter.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAccessControl(System.String,System.Security.AccessControl.AccessControlSections)">
      <summary>
              Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL)
              entries for a specified file.
            </summary>
      <param name="path">
              The path to a file containing a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes the file's
              access control list (ACL) information.
            </param>
      <param name="includeSections">
              One (or more) of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of
              access control list (ACL) information to receive.
            </param>
      <returns>
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control rules for the file
              described by the <paramref name="path" /> parameter.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAccessControl(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control
              list (ACL) entries for a specified file.
            </summary>
      <param name="path">
              The path to a file containing a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes the file's
              access control list (ACL) information.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control rules for the file
              described by the <paramref name="path" /> parameter.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAccessControl(System.String,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL) entries for a specified file.
            </summary>
      <param name="path">
              The path to a file containing a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes the file's access control list (ACL) information.
            </param>
      <param name="includeSections">
              One (or more) of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to
              receive.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control rules for the file described by the
              <paramref name="path" /> parameter.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAccessControlInternal``1(System.Boolean,System.String,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
               [AlphaFS] Unified method GetAccessControlInternal() to get an <see cref="T:System.Security.AccessControl.ObjectSecurity" /> object for a particular file or
               directory.
             </summary>
      <exception cref="T:System.IO.IOException">Thrown when an IO failure occurred.</exception>
      <typeparam name="T">Generic type parameter.</typeparam>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="path">
               The path to a directory containing a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object that describes the directory's or file's access control
               list (ACL) information.
             </param>
      <param name="includeSections">
               One (or more) of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to
               receive.
             </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
               An <see cref="T:System.Security.AccessControl.ObjectSecurity" /> object that encapsulates the access control rules for the file or directory described by the
               <paramref name="path" /> parameter.
             </returns>
      <exception cref="T:System.ArgumentException">
               The path parameter contains invalid characters, is empty, or contains only white spaces.
             </exception>
      <exception cref="T:System.ArgumentNullException" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAttributes(System.String)">
      <summary>Gets the <see cref="T:System.IO.FileAttributes" /> of the file on the path.</summary>
      <param name="path">The path to the file.</param>
      <returns>The <see cref="T:System.IO.FileAttributes" /> of the file on the path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAttributes(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the <see cref="T:System.IO.FileAttributes" /> of the file on the path.</summary>
      <param name="path">The path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The <see cref="T:System.IO.FileAttributes" /> of the file on the path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAttributes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the <see cref="T:System.IO.FileAttributes" /> of the file on the path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <returns>The <see cref="T:System.IO.FileAttributes" /> of the file on the path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAttributes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the <see cref="T:System.IO.FileAttributes" /> of the file on the path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The <see cref="T:System.IO.FileAttributes" /> of the file on the path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetAttributesExInternal``1(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the <see cref="T:System.IO.FileAttributes" /> or <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData" />
              of the specified file or directory.
            </summary>
      <typeparam name="T">Generic type parameter.</typeparam>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              Returns the <see cref="T:System.IO.FileAttributes" /> or <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData" /> of the
              specified file or directory.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.FillAttributeInfoInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData@,System.Boolean,System.Boolean)">
      <summary>
              Calls NativeMethods.GetFileAttributesEx to retrieve Win32FileAttributeData.
              <para>Note that classes should use -1 as the uninitialized state for dataInitialized when relying on this method.</para></summary>
      <remarks>No path (null, empty string) checking or normalization is performed.</remarks>
      <param name="transaction">.</param>
      <param name="pathLp">.</param>
      <param name="win32AttrData">[in,out].</param>
      <param name="tryagain">.</param>
      <param name="returnErrorOnNotFound">.</param>
      <returns>Returns 0 on success, otherwise a Win32 error code.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTime(System.String)">
      <summary>Gets the creation date and time of the specified file.</summary>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in
              local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time of the specified file.</summary>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in
              local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the creation date and time of the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in
              local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time of the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in
              local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTimeUtc(System.String)">
      <summary>Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <param name="path">
              The file for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.
            </param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in UTC
              time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <param name="path">
              The file for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in UTC
              time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">
              The file for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.
            </param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in UTC
              time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">
              The file for which to obtain creation date and time information, in Coordinated Universal Time (UTC) format.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file. This value is expressed in UTC
              time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCreationTimeInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the creation date and time, in Coordinated Universal Time (UTC) or local time, of the specified file or directory.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to obtain creation date and time information.</param>
      <param name="returnUtc">
        <see langword="true" /> gets the Coordinated Universal Time (UTC), <see langword="false" /> gets the local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the creation date and time for the specified file or directory. Depending on
              <paramref name="returnUtc" /> this value is expressed in UTC- or local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTime(System.String)">
      <summary>Gets the date and time that the specified file was last accessed.</summary>
      <param name="path">The file for which to obtain access date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last accessed.</summary>
      <param name="path">The file for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain access date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTimeUtc(System.String)">
      <summary>Gets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="path">The file for which to obtain access date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="path">The file for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain access date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain access date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last accessed. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastAccessTimeInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the date and time, in coordinated universal time (UTC) or local time, that the specified file or directory was last
              accessed.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to obtain access date and time information.</param>
      <param name="returnUtc">
        <see langword="true" /> gets the Coordinated Universal Time (UTC), <see langword="false" /> gets the local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file or directory was last accessed.
              Depending on <paramref name="returnUtc" /> this value is expressed in UTC- or local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTime(System.String)">
      <summary>Gets the date and time that the specified file was last written to.</summary>
      <param name="path">The file for which to obtain write date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last written to.</summary>
      <param name="path">The file for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain write date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the date and time that the specified file was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTimeUtc(System.String)">
      <summary>Gets the date and time, in coordinated universal time (UTC) time, that the specified file was last written to.</summary>
      <param name="path">The file for which to obtain write date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified file was last written to.
            </summary>
      <param name="path">The file for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>
              [AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified file was last written to.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain write date and time information.</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the date and time, in coordinated universal time (UTC) time, that the specified file was last written to.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain write date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file was last written to. This value is
              expressed in UTC time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLastWriteTimeInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Gets the date and time, in coordinated universal time (UTC) or local time, that the specified file or directory was last
              written to.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to obtain write date and time information.</param>
      <param name="getUtc">
        <see langword="true" /> gets the Coordinated Universal Time (UTC), <see langword="false" /> gets the local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.DateTime" /> structure set to the date and time that the specified file or directory was last written to.
              Depending on <paramref name="getUtc" /> this value is expressed in UTC- or local time.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode)">
      <summary>Opens a <see cref="T:System.IO.FileStream" /> on the specified path with read/write access.</summary>
      <param name="path">The file to open.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
      <returns>A <see cref="T:System.IO.FileStream" /> opened in the specified mode and path, with read/write access and not shared.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess)">
      <summary>Opens a <see cref="T:System.IO.FileStream" /> on the specified path, with the specified mode and access.</summary>
      <param name="path">The file to open.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <returns>An unshared <see cref="T:System.IO.FileStream" /> that provides access to the specified file, with the specified mode and access.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
      <summary>Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.</summary>
      <param name="path">The file to open.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path with read/write access.</summary>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.FileStream" /> opened in the specified mode and path, with read/write access and not shared.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, with the specified mode and access.</summary>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              An unshared <see cref="T:System.IO.FileStream" /> that provides access to the specified file, with the specified mode and access.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access
              and the specified sharing option.
            </summary>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the
              specified sharing option.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access
              and the specified sharing option.
            </summary>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <param name="extendedAttributes">The extended attributes.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the
              specified sharing option.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode)">
      <summary>[AlphaFS] (Transacted) Opens a <see cref="T:System.IO.FileStream" /> on the specified path with read/write access.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <returns>A <see cref="T:System.IO.FileStream" /> opened in the specified mode and path, with read/write access and not shared.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.IO.FileAccess)">
      <summary>[AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, with the specified mode and access.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <returns>
              An unshared <see cref="T:System.IO.FileStream" /> that provides access to the specified file, with the specified mode and access.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
      <summary>
              [AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access
              and the specified sharing option.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the
              specified sharing option.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] (Transacted) Opens a <see cref="T:System.IO.FileStream" /> on the specified path with read/write access.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.FileStream" /> opened in the specified mode and path, with read/write access and not shared.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.IO.FileAccess,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, with the specified mode and access.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              An unshared <see cref="T:System.IO.FileStream" /> that provides access to the specified file, with the specified mode and access.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Open(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Opens a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access
              and the specified sharing option.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <param name="extendedAttributes">The extended attributes.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              A <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with read, write, or read/write access and the
              specified sharing option.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenRead(System.String)">
      <summary>Opens an existing file for reading.</summary>
      <remarks>
              This method is equivalent to the FileStream(string, FileMode, FileAccess, FileShare) constructor overload with a
              <see cref="T:System.IO.FileMode" /> value of Open, a <see cref="T:System.IO.FileAccess" /> value of Read and a <see cref="T:System.IO.FileShare" /> value of Read.
            </remarks>
      <param name="path">The file to be opened for reading.</param>
      <returns>A read-only <see cref="T:System.IO.FileStream" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenRead(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing file for reading.</summary>
      <remarks>
              This method is equivalent to the FileStream(string, FileMode, FileAccess, FileShare) constructor overload with a
              <see cref="T:System.IO.FileMode" /> value of Open, a <see cref="T:System.IO.FileAccess" /> value of Read and a <see cref="T:System.IO.FileShare" /> value of Read.
            </remarks>
      <param name="path">The file to be opened for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A read-only <see cref="T:System.IO.FileStream" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenRead(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens an existing file for reading.</summary>
      <remarks>
              This method is equivalent to the FileStream(string, FileMode, FileAccess, FileShare) constructor overload with a
              <see cref="T:System.IO.FileMode" /> value of Open, a <see cref="T:System.IO.FileAccess" /> value of Read and a <see cref="T:System.IO.FileShare" /> value of Read.
            </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <returns>A read-only <see cref="T:System.IO.FileStream" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenRead(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing file for reading.</summary>
      <remarks>
              This method is equivalent to the FileStream(string, FileMode, FileAccess, FileShare) constructor overload with a
              <see cref="T:System.IO.FileMode" /> value of Open, a <see cref="T:System.IO.FileAccess" /> value of Read and a <see cref="T:System.IO.FileShare" /> value of Read.
            </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A read-only <see cref="T:System.IO.FileStream" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(System.String)">
      <summary>Opens an existing NativeMethods.DefaultFileEncoding encoded text file for reading.</summary>
      <param name="path">The file to be opened for reading.</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing NativeMethods.DefaultFileEncoding encoded text file for reading.</summary>
      <param name="path">The file to be opened for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing <see cref="T:System.Text.Encoding" /> encoded text file for reading.</summary>
      <param name="path">The file to be opened for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Opens an existing <see cref="T:System.Text.Encoding" /> encoded text file for reading.</summary>
      <param name="path">The file to be opened for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens an existing NativeMethods.DefaultFileEncoding encoded text file for reading.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing NativeMethods.DefaultFileEncoding encoded text file for reading.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing <see cref="T:System.Text.Encoding" /> encoded text file for reading.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Opens an existing <see cref="T:System.Text.Encoding" /> encoded text file for reading.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>A <see cref="T:System.IO.StreamReader" /> on the specified path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenWrite(System.String)">
      <summary>Opens an existing file or creates a new file for writing.</summary>
      <param name="path">The file to be opened for writing.</param>
      <returns>An unshared <see cref="T:System.IO.FileStream" /> object on the specified path with <see cref="F:System.IO.FileAccess.Write" /> access.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenWrite(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing file or creates a new file for writing.</summary>
      <param name="path">The file to be opened for writing.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An unshared <see cref="T:System.IO.FileStream" /> object on the specified path with <see cref="F:System.IO.FileAccess.Write" /> access.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenWrite(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens an existing file or creates a new file for writing.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for writing.</param>
      <returns>An unshared <see cref="T:System.IO.FileStream" /> object on the specified path with <see cref="F:System.IO.FileAccess.Write" /> access.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenWrite(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens an existing file or creates a new file for writing.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to be opened for writing.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An unshared <see cref="T:System.IO.FileStream" /> object on the specified path with <see cref="F:System.IO.FileAccess.Write" /> access.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenBackupRead(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens the specified file for reading purposes bypassing security attributes.</summary>
      <param name="path">The file path to open.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the read-only mode and sharing options.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenBackupRead(System.String)">
      <summary>
              [AlphaFS] Opens the specified file for reading purposes bypassing security attributes.
              This method is simpler to use then BackupFileStream to read only file's data stream.
            </summary>
      <param name="path">The file path to open.</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the read-only mode and sharing options.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenBackupRead(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens the specified file for reading purposes bypassing security attributes.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file path to open.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the read-only mode and sharing options.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenBackupRead(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens the specified file for reading purposes bypassing security attributes.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file path to open.</param>
      <returns>A <see cref="T:System.IO.FileStream" /> on the specified path, having the read-only mode and sharing options.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.OpenInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileAccess,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method OpenInternal() to open a <see cref="T:System.IO.FileStream" /> on the specified path, having the specified mode with
              <para>read, write, or read/write access, the specified sharing option and additional options specified.</para></summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open.</param>
      <param name="mode">
              A <see cref="T:System.IO.FileMode" /> value that specifies whether a file is created if one does not exist, and determines whether the contents
              of existing files are retained or overwritten.
            </param>
      <param name="rights">
              A <see cref="T:System.Security.AccessControl.FileSystemRights" /> value that specifies whether a file is created if one does not exist, and determines whether the
              contents of existing files are retained or overwritten along with additional options.
            </param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> value that specifies the operations that can be performed on the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> value specifying the type of access other threads have to the file.</param>
      <param name="attributes">Advanced <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> options for this file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
        <para>A <see cref="T:System.IO.FileStream" /> instance on the specified path, having the specified mode with</para>
        <para>read, write, or read/write access and the specified sharing option.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllBytes(System.String)">
      <summary>Opens a binary file, reads the contents of the file into a byte array, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <returns>A byte array containing the contents of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllBytes(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a binary file, reads the contents of the file into a byte array, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A byte array containing the contents of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllBytes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens a binary file, reads the contents of the file into a byte array, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <returns>A byte array containing the contents of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllBytes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a binary file, reads the contents of the file into a byte array, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A byte array containing the contents of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllBytesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method ReadAllBytesInternal() to open a binary file, reads the contents of the file into a byte array, and then
              closes the file.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown when an IO failure occurred.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A byte array containing the contents of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(System.String)">
      <summary>Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(System.String,System.Text.Encoding)">
      <summary>Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllLinesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method ReadAllLinesInternal() to open a file, read all lines of the file with the specified encoding, and then
              close the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>An IEnumerable string containing all lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(System.String)">
      <summary>Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(System.String,System.Text.Encoding)">
      <summary>Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a text file, reads all lines of the file, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllText(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Opens a file, reads all lines of the file with the specified encoding, and then closes the file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadAllTextInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method ReadAllTextInternal() to open a file, read all lines of the file with the specified encoding, and then
              close the file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to open for reading.</param>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All lines of the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(System.String)">
      <summary>Reads the lines of a file.</summary>
      <param name="path">The file to read.</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(System.String,System.Text.Encoding)">
      <summary>Read the lines of a file that has a specified encoding.</summary>
      <param name="path">The file to read.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Reads the lines of a file.</summary>
      <param name="path">The file to read.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Read the lines of a file that has a specified encoding.</summary>
      <param name="path">The file to read.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Reads the lines of a file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to read.</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding)">
      <summary>[AlphaFS] Read the lines of a file that has a specified encoding.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to read.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Reads the lines of a file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to read.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLines(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Read the lines of a file that has a specified encoding.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to read.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReadLinesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Text.Encoding,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method ReadLinesInternal() to read the lines of a file that has a specified encoding.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to read.</param>
      <param name="encoding">The encoding that is applied to the contents of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>All the lines of the file, or the lines that are the result of a query.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Replace(System.String,System.String,System.String)">
      <summary>
              Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of
              the replaced file.
            </summary>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of another file. It also creates a backup of the
              file that was replaced.
            </remarks>
      <remarks>
              If the <paramref name="sourceFileName" /> and <paramref name="destinationFileName" /> are on different volumes, this method will
              raise an exception. If the <paramref name="destinationBackupFileName" /> is on a different volume from the source file, the backup
              file will be deleted.
            </remarks>
      <remarks>
              Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being
              replaced.
            </remarks>
      <param name="sourceFileName">The name of a file that replaces the file specified by <paramref name="destinationFileName" />.</param>
      <param name="destinationFileName">The name of the file being replaced.</param>
      <param name="destinationBackupFileName">The name of the backup file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Replace(System.String,System.String,System.String,System.Boolean)">
      <summary>
              Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of
              the replaced file and optionally ignores merge errors.
            </summary>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of another file. It also creates a backup of the
              file that was replaced.
            </remarks>
      <remarks>
              If the <paramref name="sourceFileName" /> and <paramref name="destinationFileName" /> are on different volumes, this method will
              raise an exception. If the <paramref name="destinationBackupFileName" /> is on a different volume from the source file, the backup
              file will be deleted.
            </remarks>
      <remarks>
              Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being
              replaced.
            </remarks>
      <param name="sourceFileName">The name of a file that replaces the file specified by <paramref name="destinationFileName" />.</param>
      <param name="destinationFileName">The name of the file being replaced.</param>
      <param name="destinationBackupFileName">The name of the backup file.</param>
      <param name="ignoreMetadataErrors">
        <see langword="true" /> to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the
              replacement file; otherwise, <see langword="false" />.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.Replace(System.String,System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a
              backup of the replaced file and optionally ignores merge errors.
            </summary>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of another file. It also creates a backup of the
              file that was replaced.
            </remarks>
      <remarks>
              If the <paramref name="sourceFileName" /> and <paramref name="destinationFileName" /> are on different volumes, this method will
              raise an exception. If the <paramref name="destinationBackupFileName" /> is on a different volume from the source file, the backup
              file will be deleted.
            </remarks>
      <remarks>
              Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being
              replaced.
            </remarks>
      <param name="sourceFileName">The name of a file that replaces the file specified by <paramref name="destinationFileName" />.</param>
      <param name="destinationFileName">The name of the file being replaced.</param>
      <param name="destinationBackupFileName">The name of the backup file.</param>
      <param name="ignoreMetadataErrors">
        <see langword="true" /> to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the
              replacement file; otherwise, <see langword="false" />.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.ReplaceInternal(System.String,System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method ReplaceInternal() to replace the contents of a specified file with the contents of another file, deleting
              the original file, and creating a backup of the replaced file and optionally ignores merge errors.
            </summary>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of another file. It also creates a backup of the
              file that was replaced.
            </remarks>
      <remarks>
              If the <paramref name="sourceFileName" /> and <paramref name="destinationFileName" /> are on different volumes, this method will
              raise an exception. If the <paramref name="destinationBackupFileName" /> is on a different volume from the source file, the backup
              file will be deleted.
            </remarks>
      <remarks>
              Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being
              replaced.
            </remarks>
      <param name="sourceFileName">The name of a file that replaces the file specified by <paramref name="destinationFileName" />.</param>
      <param name="destinationFileName">The name of the file being replaced.</param>
      <param name="destinationBackupFileName">The name of the backup file.</param>
      <param name="ignoreMetadataErrors">
        <see langword="true" /> to ignore merge errors (such as attributes and access control lists (ACLs)) from the replaced file to the
              replacement file; otherwise, <see langword="false" />.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity)">
      <summary>
              Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.FileSecurity" /> FileSecurity object to the specified file.
            </summary>
      <param name="path">A file to add or remove access control list (ACL) entries from.</param>
      <param name="fileSecurity">
              A  <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the file described by the <paramref name="path" />
              parameter.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity,System.Security.AccessControl.AccessControlSections)">
      <summary>
              Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified directory.
            </summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="fileSecurity">
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.
            </param>
      <param name="includeSections">
              One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to
              set.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.FileSecurity" /> FileSecurity object to the specified
              file.
            </summary>
      <param name="path">A file to add or remove access control list (ACL) entries from.</param>
      <param name="fileSecurity">
              A  <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the file described by the <paramref name="path" />
              parameter.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAccessControl(System.String,System.Security.AccessControl.FileSecurity,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.DirectorySecurity" /> object to the specified
              directory.
            </summary>
      <param name="path">A directory to add or remove access control list (ACL) entries from.</param>
      <param name="fileSecurity">
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the directory described by the path parameter.
            </param>
      <param name="includeSections">
              One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to
              set.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAccessControlInternal(System.String,System.Runtime.InteropServices.SafeHandle,System.Security.AccessControl.ObjectSecurity,System.Security.AccessControl.AccessControlSections,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
               [AlphaFS] Unified method SetAccessControlInternal() applies access control list (ACL) entries described by a
               <see cref="T:System.Security.AccessControl.FileSecurity" /> FileSecurity object to the specified file.
             </summary>
      <remarks>Use either <paramref name="path" /> or <paramref name="handle" />, not both.</remarks>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">
               A file to add or remove access control list (ACL) entries from. This parameter This parameter may be <see langword="null" />.
             </param>
      <param name="handle">
               A handle to add or remove access control list (ACL) entries from. This parameter This parameter may be <see langword="null" />.
             </param>
      <param name="objectSecurity">
               A <see cref="T:System.Security.AccessControl.DirectorySecurity" /> or <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the file described
               by the <paramref name="path" /> parameter.
             </param>
      <param name="includeSections">
               One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to
               set.
             </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <exception cref="T:System.ArgumentException">
               The path parameter contains invalid characters, is empty, or contains only white spaces.
             </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAttributes(System.String,System.IO.FileAttributes)">
      <summary>Sets the specified <see cref="T:System.IO.FileAttributes" /> of the file or directory on the specified path.</summary>
      <remarks>
              Certain file attributes, such as <see cref="F:System.IO.FileAttributes.Hidden" /> and <see cref="F:System.IO.FileAttributes.ReadOnly" />, can be combined.
              Other attributes, such as <see cref="F:System.IO.FileAttributes.Normal" />, must be used alone.
            </remarks>
      <remarks>
              It is not possible to change the <see cref="F:System.IO.FileAttributes.Compressed" /> status of a File object using this method.
            </remarks>
      <param name="path">The path to the file or directory.</param>
      <param name="fileAttributes">A bitwise combination of the enumeration values.</param>
      <overloads>Sets the specified <see cref="T:System.IO.FileAttributes" /> of the file or directory on the specified path.</overloads>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAttributes(System.String,System.IO.FileAttributes,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the specified <see cref="T:System.IO.FileAttributes" /> of the file or directory on the specified path.</summary>
      <remarks>
              Certain file attributes, such as <see cref="F:System.IO.FileAttributes.Hidden" /> and <see cref="F:System.IO.FileAttributes.ReadOnly" />, can be combined.
              Other attributes, such as <see cref="F:System.IO.FileAttributes.Normal" />, must be used alone.
            </remarks>
      <remarks>
              It is not possible to change the <see cref="F:System.IO.FileAttributes.Compressed" /> status of a File object using this method.
            </remarks>
      <param name="path">The path to the file or directory.</param>
      <param name="fileAttributes">A bitwise combination of the enumeration values.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAttributes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileAttributes)">
      <summary>[AlphaFS] Sets the specified <see cref="T:System.IO.FileAttributes" /> of the file on the specified path.</summary>
      <remarks>
              Certain file attributes, such as <see cref="F:System.IO.FileAttributes.Hidden" /> and <see cref="F:System.IO.FileAttributes.ReadOnly" />, can be combined.
              Other attributes, such as <see cref="F:System.IO.FileAttributes.Normal" />, must be used alone.
            </remarks>
      <remarks>
              It is not possible to change the <see cref="F:System.IO.FileAttributes.Compressed" /> status of a File object using this method.
            </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <param name="fileAttributes">A bitwise combination of the enumeration values.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAttributes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileAttributes,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the specified <see cref="T:System.IO.FileAttributes" /> of the file on the specified path.</summary>
      <remarks>
              Certain file attributes, such as <see cref="F:System.IO.FileAttributes.Hidden" /> and <see cref="F:System.IO.FileAttributes.ReadOnly" />, can be combined.
              Other attributes, such as <see cref="F:System.IO.FileAttributes.Normal" />, must be used alone.
            </remarks>
      <remarks>
              It is not possible to change the <see cref="F:System.IO.FileAttributes.Compressed" /> status of a File object using this method.
            </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <param name="fileAttributes">A bitwise combination of the enumeration values.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetAttributesInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileAttributes,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method SetAttributesInternal() to set the attributes for a Non-/Transacted file/directory.</summary>
      <remarks>
              Certain file attributes, such as <see cref="F:System.IO.FileAttributes.Hidden" /> and <see cref="F:System.IO.FileAttributes.ReadOnly" />, can be combined.
              Other attributes, such as <see cref="F:System.IO.FileAttributes.Normal" />, must be used alone.
            </remarks>
      <remarks>
              It is not possible to change the <see cref="F:System.IO.FileAttributes.Compressed" /> status of a File object using the SetAttributes method.
            </remarks>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The name of the file or directory whose attributes are to be set.</param>
      <param name="fileAttributes">
              The attributes to set for the file or directory. Note that all other values override <see cref="F:System.IO.FileAttributes.Normal" />.
            </param>
      <param name="continueOnNotExist">
        <see langword="true" /> does not throw an Exception when the file system object does not exist.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTime(System.String,System.DateTime)">
      <summary>Sets the date and time the file was created.</summary>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time the file was created.</summary>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time the file was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time the file was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the file was created.</summary>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the file was created.</summary>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the file was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetCreationTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the file was created.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the creation date and time information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTime(System.String,System.DateTime)">
      <summary>Sets the date and time that the specified file was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastAccessTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the access date and time information.</param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTime(System.String,System.DateTime)">
      <summary>Sets the date and time that the specified file was last written to.</summary>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTime(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last written to.</summary>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets the date and time that the specified file was last written to.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTimeUtc(System.String,System.DateTime)">
      <summary>Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.</summary>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTimeUtc(System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.
            </summary>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime)">
      <summary>
              [AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetLastWriteTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the date and time information.</param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestamps(System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified file, at once.</summary>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestamps(System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified file, at once.</summary>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified file, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps for the specified file, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
      <param name="lastAccessTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in local time.
            </param>
      <param name="lastWriteTime">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in local time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestampsUtc(System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified file, at once.</summary>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestampsUtc(System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified file, at once.</summary>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestampsUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified file, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetTimestampsUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.DateTime,System.DateTime,System.DateTime)">
      <summary>[AlphaFS] Sets all the date and time stamps, in coordinated universal time (UTC), for the specified file, at once.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to set the dates and times information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.SetFsoDateTimeInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime},Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method SetFsoDateTimeInternal() to set the date and time, in coordinated universal time (UTC), that the file or
              directory was created and/or last accessed and/or written to.
            </summary>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to set the date and time information.</param>
      <param name="creationTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the creation date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="lastAccessTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last access date and time of <paramref name="path" />. This
              value is expressed in UTC time.
            </param>
      <param name="lastWriteTimeUtc">
              A <see cref="T:System.DateTime" /> containing the value to set for the last write date and time of <paramref name="path" />. This value
              is expressed in UTC time.
            </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllBytes(System.String,System.Byte[])">
      <summary>
              Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is
              overwritten.
            </summary>
      <param name="path">The file to write to.</param>
      <param name="bytes">The bytes to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllBytes(System.String,System.Byte[],Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already
              exists, it is overwritten.
            </summary>
      <param name="path">The file to write to.</param>
      <param name="bytes">The bytes to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllBytes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Byte[])">
      <summary>
              [AlphaFS] Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already
              exists, it is overwritten.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="bytes">The bytes to write to the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllBytes(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Byte[],Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already
              exists, it is overwritten.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="bytes">The bytes to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.WriteAllBytesInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Byte[],Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method WriteAllBytesInternal() to create a new file as part of a transaction, writes the specified byte array to
              the file, and then closes the file. If the target file already exists, it is overwritten.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file to write to.</param>
      <param name="bytes">The bytes to write to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTime(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the change date and time of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTime(System.String)">
      <summary>[AlphaFS] Gets the change date and time of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <param name="path">The file for which to obtain creation date and time information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTime(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Gets the change date and time of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <param name="safeHandle">An open handle to the file or directory from which to retrieve information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the change date and time of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain creation date and time information.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTime(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the change date and time of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain creation date and time information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeUtc(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in UTC time.</returns>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeUtc(System.String)">
      <summary>[AlphaFS] Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in UTC time.</returns>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeUtc(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in UTC time.</returns>
      <param name="safeHandle">An open handle to the file or directory from which to retrieve information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in UTC time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeUtc(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the change date and time, in Coordinated Universal Time (UTC) format, of the specified file.</summary>
      <returns>A <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in UTC time.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The file for which to obtain change date and time information, in Coordinated Universal Time (UTC) format.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetChangeTimeInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,Microsoft.Win32.SafeHandles.SafeFileHandle,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method GetChangeTimeInternal() to get the change date and time of the specified file.</summary>
      <returns>Returns a <see cref="T:System.DateTime" /> structure set to the change date and time for the specified file. This value is expressed in local time.</returns>
      <remarks>
        <para>Use either <paramref name="path" /> or <paramref name="safeHandle" />, not both.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">Thrown when a Platform Not Supported error condition occurs.</exception>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="safeHandle">An open handle to the file or directory from which to retrieve information.</param>
      <param name="path">The file or directory for which to obtain creation date and time information.</param>
      <param name="getUtc">
        <see langword="true" /> gets the Coordinated Universal Time (UTC), <see langword="false" /> gets the local time.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCompressedSize(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves the actual number of bytes of disk storage used to store a specified file.</summary>
      <remarks>
              If the file is located on a volume that supports compression and the file is compressed, the value obtained is the compressed size
              of the specified file. If the file is located on a volume that supports sparse files and the file is a sparse file, the value
              obtained is the sparse size of the specified file.
            </remarks>
      <param name="path">
        <para>The name of the file.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The actual number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCompressedSize(System.String)">
      <summary>[AlphaFS] Retrieves the actual number of bytes of disk storage used to store a specified file.</summary>
      <remarks>
              If the file is located on a volume that supports compression and the file is compressed, the value obtained is the compressed size
              of the specified file. If the file is located on a volume that supports sparse files and the file is a sparse file, the value
              obtained is the sparse size of the specified file.
            </remarks>
      <param name="path">
        <para>The name of the file.</para>
      </param>
      <returns>The actual number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCompressedSize(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Retrieves the actual number of bytes of disk storage used to store a specified file as part of a transaction. If the file
              is located on a volume that supports compression and the file is compressed, the value obtained is the compressed size of the
              specified file. If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is
              the sparse size of the specified file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">
        <para>The name of the file.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The actual number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCompressedSize(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>
              [AlphaFS] Retrieves the actual number of bytes of disk storage used to store a specified file as part of a transaction. If the file
              is located on a volume that supports compression and the file is compressed, the value obtained is the compressed size of the
              specified file. If the file is located on a volume that supports sparse files and the file is a sparse file, the value obtained is
              the sparse size of the specified file.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">
        <para>The name of the file.</para>
      </param>
      <returns>The actual number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetCompressedSizeInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method GetCompressedSizeInternal() to retrieve the actual number of bytes of disk storage used to store a
              specified file as part of a transaction. If the file is located on a volume that supports compression and the file is compressed,
              the value obtained is the compressed size of the specified file. If the file is located on a volume that supports sparse files and
              the file is a sparse file, the value obtained is the sparse size of the specified file.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">
        <para>The name of the file.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The actual number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetEncryptionStatus(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves the encryption status of the specified file.</summary>
      <param name="path">The name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileEncryptionStatus" /> of the specified <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetEncryptionStatus(System.String)">
      <summary>[AlphaFS] Retrieves the encryption status of the specified file.</summary>
      <param name="path">The name of the file.</param>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileEncryptionStatus" /> of the specified <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetEncryptionStatusInternal(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetEncryptionStatusInternal() to retrieve the encryption status of the specified file.</summary>
      <param name="path">The name of the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileEncryptionStatus" /> of the specified <paramref name="path" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileInfoByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Retrieves file information for the specified <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" />.</summary>
      <param name="handle">A <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> connected to the open file from which to retrieve the information.</param>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.ByHandleFileInfo" /> object containing the requested information.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileSystemEntryInfo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> of the file on the path.</summary>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance of the file or directory.</returns>
      <param name="path">The path to the file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileSystemEntryInfo(System.String)">
      <summary>[AlphaFS] Gets the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> of the file on the path.</summary>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance of the file or directory.</returns>
      <param name="path">The path to the file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileSystemEntryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> of the file on the path.</summary>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance of the file or directory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileSystemEntryInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> of the file on the path.</summary>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance of the file or directory.</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetFileSystemEntryInfoInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetFileSystemEntryInfoInternal() to get a FileSystemEntryInfo from a Non-/Transacted directory/file.</summary>
      <returns>The <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance of the file or directory, or <c>null</c> on Exception when <paramref name="continueOnException" /> is <c>true</c>.</returns>
      <remarks>BasicSearch <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels.Basic" /> and LargeCache <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags.LargeFetch" /> are used by default, if possible.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">path is <c>null</c>.</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file or directory.</param>
      <param name="continueOnException">
        <para>
          <c>true</c> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as ACLs protected directories or non-accessible reparse points.</para>
      </param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets information about the target of a mount point or symbolic link on an NTFS file system.</summary>
      <param name="path">The path to the reparse point.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              An instance of <see cref="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo" /> containing information about the symbolic link
              or mount point pointed to by <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfo(System.String)">
      <summary>[AlphaFS] Gets information about the target of a mount point or symbolic link on an NTFS file system.</summary>
      <param name="path">The path to the reparse point.</param>
      <returns>
              An instance of <see cref="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo" /> containing information about the symbolic link
              or mount point pointed to by <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Gets information about the target of a mount point or symbolic link on an NTFS file system.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the reparse point.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              An instance of <see cref="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo" /> containing information about the symbolic link
              or mount point pointed to by <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfo(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Gets information about the target of a mount point or symbolic link on an NTFS file system.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the reparse point.</param>
      <returns>
              An instance of <see cref="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo" /> containing information about the symbolic link
              or mount point pointed to by <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetLinkTargetInfoInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method GetLinkTargetInfoInternal() to get information about the target of a mount point or symbolic link on an
              NTFS file system.
            </summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the reparse point.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>
              An instance of <see cref="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo" /> containing information about the symbolic link
              or mount point pointed to by <paramref name="path" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSize(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves the file size, in bytes to store a specified file.</summary>
      <param name="path">The path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The file size, in bytes.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSize(System.String)">
      <summary>[AlphaFS] Retrieves the file size, in bytes to store a specified file.</summary>
      <param name="path">The path to the file.</param>
      <returns>The file size, in bytes.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSize(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Retrieves the file size, in bytes to store a specified file.</summary>
      <param name="handle">The <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> to the file.</param>
      <returns>The file size, in bytes.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSize(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Retrieves the file size, in bytes to store a specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSize(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Retrieves the file size, in bytes to store a specified file.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">The path to the file.</param>
      <returns>The number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.GetSizeInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,Microsoft.Win32.SafeHandles.SafeFileHandle,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method GetSizeInternal() to retrieve the file size, in bytes to store a specified file.</summary>
      <remarks>Use either <paramref name="path" /> or <paramref name="safeHandle" />, not both.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="safeHandle">The <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> to the file.</param>
      <param name="path">The path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>The number of bytes of disk storage used to store the specified file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.TransferTimestamps(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified files.</summary>
      <remarks>This method does not change last access time for the source file.</remarks>
      <param name="sourcePath">The source file to get the date and time stamps from.</param>
      <param name="destinationPath">The destination file to set the date and time stamps.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.TransferTimestamps(System.String,System.String)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified files.</summary>
      <remarks>This method does not change last access time for the source file.</remarks>
      <param name="sourcePath">The source file to get the date and time stamps from.</param>
      <param name="destinationPath">The destination file to set the date and time stamps.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.TransferTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified files.</summary>
      <remarks>This method does not change last access time for the source file.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source file to get the date and time stamps from.</param>
      <param name="destinationPath">The destination file to set the date and time stamps.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.TransferTimestamps(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String)">
      <summary>[AlphaFS] Transfers the date and time stamps for the specified files.</summary>
      <remarks>This method does not change last access time for the source file.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source file to get the date and time stamps from.</param>
      <param name="destinationPath">The destination file to set the date and time stamps.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.File.TransferTimestampsInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>
              [AlphaFS] Unified method TransferTimestampsInternal() to transfer the date and time stamps for the specified files and directories.
            </summary>
      <remarks>This method does not change last access time for the source file.</remarks>
      <remarks>This method uses BackupSemantics flag to get Timestamp changed for directories.</remarks>
      <param name="isFolder">
              Specifies that <paramref name="sourcePath" /> and <paramref name="destinationPath" /> are a file or directory.
            </param>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">The source path.</param>
      <param name="destinationPath">The destination path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DeviceInfo">
      <summary>Provides access to information of a device, on a local or remote host.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceInfo.#ctor">
      <summary>Initializes a DeviceInfo class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceInfo.#ctor(System.String)">
      <summary>Initializes a DeviceInfo class.</summary>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DeviceInfo.EnumerateDevices(Alphaleonis.Win32.Filesystem.DeviceGuid)">
      <summary>Enumerates all available devices on the local host.</summary>
      <param name="deviceGuid">One of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> devices.</param>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> instances of type <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> from the local host.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.BaseContainerId">
      <summary>Represents the <see cref="T:System.Guid" /> value of the base container identifier (ID) .The Windows Plug and Play (PnP) manager assigns this value to the device node (devnode).</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.Class">
      <summary>Represents the name of the device setup class that a device instance belongs to.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.ClassGuid">
      <summary>Represents the <see cref="T:System.Guid" /> of the device setup class that a device instance belongs to.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.CompatibleIds">
      <summary>Represents the list of compatible identifiers for a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.DeviceDescription">
      <summary>Represents a description of a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.DevicePath">
      <summary>The device interface path.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.Driver">
      <summary>Represents the registry entry name of the driver key for a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.EnumeratorName">
      <summary>Represents the name of the enumerator for a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.FriendlyName">
      <summary>Represents the friendly name of a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.HardwareId">
      <summary>Represents the list of hardware identifiers for a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.InstanceId">
      <summary>Gets the instance Id of the device.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.LocationInformation">
      <summary>Represents the bus-specific physical location of a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.LocationPaths">
      <summary>Represents the location of a device instance in the device tree.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.Manufacturer">
      <summary>Represents the name of the manufacturer of a device instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.PhysicalDeviceObjectName">
      <summary>Encapsulates the physical device location information provided by a device's firmware to Windows.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DeviceInfo.Service">
      <summary>Represents the name of the service that is installed for a device instance.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DiskSpaceInfo">
      <summary>Retrieves information about the amount of space that is available on a disk volume, which is the total amount of space,
            the total amount of free space, and the total amount of free space available to the user that is associated with the calling thread.
            <para>This class cannot be inherited.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.#ctor(System.String)">
      <summary>Initializes a DiskSpaceInfo instance.</summary>
      <param name="drivePath">A valid drive path or drive letter. This can be either uppercase or lowercase, 'a' to 'z' or a network share in the format: \\server\share</param>
      <Remark>This is a Lazyloading object; call <see cref="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.Refresh" /> to populate all properties first before accessing.</Remark>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.#ctor(System.String,System.Nullable{System.Boolean},System.Boolean,System.Boolean)">
      <summary>Initializes a DiskSpaceInfo instance.</summary>
      <param name="drivePath">A valid drive path or drive letter. This can be either uppercase or lowercase, 'a' to 'z' or a network share in the format: \\server\share</param>
      <param name="spaceInfoType">
        <see langword="null" /> gets both size- and disk cluster information. <see langword="true" /> Get only disk cluster information, <see langword="false" /> Get only size information.</param>
      <param name="refresh">Refreshes the state of the object.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.Refresh">
      <summary>Refreshes the state of the object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.Reset">
      <summary>Initializes all <see ref="Alphaleonis.Win32.Filesystem.DiskSpaceInfo" /> properties to 0.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.ToString">
      <summary>Returns the drive name.</summary>
      <returns>A string that represents this object.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.AvailableFreeSpacePercent">
      <summary>Indicates the amount of available free space on a drive, formatted as percentage.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.AvailableFreeSpaceUnitSize">
      <summary>Indicates the amount of available free space on a drive, formatted as a unit size.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.ClusterSize">
      <summary>Returns the Clusters size.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.DriveName">
      <summary>Gets the name of a drive.</summary>
      <returns>The name of the drive.</returns>
      <remarks>This property is the name assigned to the drive, such as C:\ or E:\</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.TotalSizeUnitSize">
      <summary>The total number of bytes on a disk that are available to the user who is associated with the calling thread, formatted as a unit size.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.UsedSpacePercent">
      <summary>Indicates the amount of used space on a drive, formatted as percentage.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.UsedSpaceUnitSize">
      <summary>Indicates the amount of used space on a drive, formatted as a unit size.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.FreeBytesAvailable">
      <summary>The total number of free bytes on a disk that are available to the user who is associated with the calling thread.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.TotalNumberOfBytes">
      <summary>The total number of bytes on a disk that are available to the user who is associated with the calling thread.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.TotalNumberOfFreeBytes">
      <summary>The total number of free bytes on a disk.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.BytesPerSector">
      <summary>The number of bytes per sector.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.NumberOfFreeClusters">
      <summary>The total number of free clusters on the disk that are available to the user who is associated with the calling thread.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.SectorsPerCluster">
      <summary>The number of sectors per cluster.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DiskSpaceInfo.TotalNumberOfClusters">
      <summary>The total number of clusters on the disk that are available to the user who is associated with the calling thread.
            If per-user disk quotas are in use, this value may be less than the total number of clusters on the disk.
            </summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DriveInfo">
      <summary>Provides access to information on a local or remote drive.</summary>
      <remarks>
            This class models a drive and provides methods and properties to query for drive information.
            Use DriveInfo to determine what drives are available, and what type of drives they are.
            You can also query to determine the capacity and available free space on the drive.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.#ctor(System.String)">
      <summary>Provides access to information on the specified drive.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="driveName">
              A valid drive path or drive letter.
              <para>This can be either uppercase or lowercase,</para><para>'a' to 'z' or a network share in the format: \\server\share</para></param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.GetDrives">
      <summary>Retrieves the drive names of all logical drives on a computer.</summary>
      <returns>An array of type <see cref="T:Alphaleonis.Win32.Filesystem.DriveInfo" /> that represents the logical drives on a computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.ToString">
      <summary>Returns a drive name as a string.</summary>
      <returns>The name of the drive.</returns>
      <remarks>This method returns the Name property.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.EnumerateDrives(System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Enumerates the drive names of all logical drives on a computer.</summary>
      <param name="fromEnvironment">Retrieve logical drives as known by the Environment.</param>
      <param name="isReady">Retrieve only when accessible (IsReady) logical drives.</param>
      <returns>
              An IEnumerable of type <see cref="T:Alphaleonis.Win32.Filesystem.DriveInfo" /> that represents
              the logical drives on a computer.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.GetFreeDriveLetter">
      <summary>[AlphaFS] Gets the first available drive letter on the local system.</summary>
      <returns>A drive letter as <see cref="T:System.Char" />. When no drive letters are available, an exception is thrown.</returns>
      <remarks>The letters "A" and "B" are reserved for floppy drives and will never be returned by this function.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.GetFreeDriveLetter(System.Boolean)">
      <summary>Gets an available drive letter on the local system.</summary>
      <param name="getLastAvailable">When <see langword="true" /> get the last available drive letter. When <see langword="false" /> gets the first available drive letter.</param>
      <returns>A drive letter as <see cref="T:System.Char" />. When no drive letters are available, an exception is thrown.</returns>
      <remarks>The letters "A" and "B" are reserved for floppy drives and will never be returned by this function.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.DriveInfo.GetDeviceInfo(System.Int32,System.Int32)">
      <summary>Retrieves information about the file system and volume associated with the specified root file or directorystream.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.AvailableFreeSpace">
      <summary>Indicates the amount of available free space on a drive.</summary>
      <returns>The amount of free space available on the drive, in bytes.</returns>
      <remarks>This property indicates the amount of free space available on the drive. Note that this number may be different from the <see cref="P:Alphaleonis.Win32.Filesystem.DriveInfo.TotalFreeSpace" /> number because this property takes into account disk quotas.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.DriveFormat">
      <summary>Gets the name of the file system, such as NTFS or FAT32.</summary>
      <remarks>Use DriveFormat to determine what formatting a drive uses.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.DriveType">
      <summary>Gets the drive type.</summary>
      <returns>One of the <see cref="T:System.IO.DriveType" /> values.</returns>
      <remarks>
            The DriveType property indicates whether a drive is any of: CDRom, Fixed, Unknown, Network, NoRootDirectory,
            Ram, Removable, or Unknown. Values are listed in the <see cref="T:System.IO.DriveType" /> enumeration.
            </remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.IsReady">
      <summary>Gets a value indicating whether a drive is ready.</summary>
      <returns>
        <see langword="true" /> if the drive is ready; otherwise, <see langword="false" />.</returns>
      <remarks>
            IsReady indicates whether a drive is ready. For example, it indicates whether a CD is in a CD drive or whether
            a removable storage device is ready for read/write operations. If you do not test whether a drive is ready, and
            it is not ready, querying the drive using DriveInfo will raise an IOException.
            
            Do not rely on IsReady() to avoid catching exceptions from other members such as TotalSize, TotalFreeSpace, and DriveFormat.
            Between the time that your code checks IsReady and then accesses one of the other properties
            (even if the access occurs immediately after the check), a drive may have been disconnected or a disk may have been removed.
            </remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.Name">
      <summary>Gets the name of the drive.</summary>
      <returns>The name of the drive.</returns>
      <remarks>This property is the name assigned to the drive, such as C:\ or E:\</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.RootDirectory">
      <summary>Gets the root directory of a drive.</summary>
      <returns>A DirectoryInfo object that contains the root directory of the drive.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.TotalFreeSpace">
      <summary>Gets the total amount of free space available on a drive.</summary>
      <returns>The total free space available on a drive, in bytes.</returns>
      <remarks>This property indicates the total amount of free space available on the drive, not just what is available to the current user.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.TotalSize">
      <summary>Gets the total size of storage space on a drive.</summary>
      <returns>The total size of the drive, in bytes.</returns>
      <remarks>This property indicates the total size of the drive in bytes, not just what is available to the current user.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.VolumeLabel">
      <summary>Gets or sets the volume label of a drive.</summary>
      <returns>The volume label.</returns>
      <remarks>
            The label length is determined by the operating system. For example, NTFS allows a volume label
            to be up to 32 characters long. Note that <see langword="null" /> is a valid VolumeLabel.
            </remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.DiskSpaceInfo">
      <summary>[AlphaFS] Returns the <see ref="Alphaleonis.Win32.Filesystem.DiskSpaceInfo" /> instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.DosDeviceName">
      <summary>[AlphaFS] The MS-DOS device name.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.IsDosDeviceSubstitute">
      <summary>[AlphaFS] Indicates if this drive is a SUBST.EXE / DefineDosDevice drive mapping.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.IsUnc">
      <summary>[AlphaFS] Indicates if this drive is a UNC path.</summary>
      <remarks>Only retrieve this information if we're dealing with a real network share mapping: http://alphafs.codeplex.com/discussions/316583</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.IsVolume">
      <summary>[AlphaFS] Determines whether the specified volume name is a defined volume on the current computer.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.DriveInfo.VolumeInfo">
      <summary>[AlphaFS] Contains information about a file-system volume.</summary>
      <returns>A VolumeInfo object that contains file-system volume information of the drive.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressResult">
      <summary>Used by CopyFileXxx and MoveFileXxx. The <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine" /> function should return one of the following values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressResult.Continue">
      <summary>PROGRESS_CONTINUE
            <para>Continue the copy operation.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressResult.Cancel">
      <summary>PROGRESS_CANCEL
            <para>Cancel the copy operation and delete the destination file.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressResult.Stop">
      <summary>PROGRESS_STOP
            <para>Stop the copy operation. It can be restarted at a later time.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressResult.Quiet">
      <summary>PROGRESS_QUIET
            <para>Continue the copy operation, but stop invoking <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine" /> to report progress.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions">
      <summary>[AlphaFS] Directory enumeration options, flags that specify how a directory is to be enumerated.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.None">
      <summary>None, do not use.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.Files">
      <summary>Enumerate files only.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.Folders">
      <summary>Enumerate directories only.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.FilesAndFolders">
      <summary>Enumerate files and directories.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.AsLongPath">
      <summary>Return full path as long full path (Unicode format), only valid when return type is <see cref="T:System.String" />.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.SkipReparsePoints">
      <summary>Skip reparse points during directory enumeration.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.ContinueOnException">
      <summary>
        <para>Suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as ACLs protected directories or non-accessible reparse points.</para>
      </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.Recursive">
      <summary>Specifies whether to search the current directory, or the current directory and all subdirectories.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.BasicSearch">
      <summary>Enumerate directory using the FindExInfoLevels.Basic option.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.LargeCache">
      <summary>Enumerate directory using the NativeMethods.FindExAdditionalFlags.LargeFetch option.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DeviceGuid">
      <summary>System-Defined Device Interface Classes</summary>
      <remarks>http://msdn.microsoft.com/en-us/library/windows/hardware/ff541389%28v=vs.85%29.aspx</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Bus1394">
      <summary>The BUS1394_CLASS_GUID device interface class is defined for 1394 bus devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Guid61883">
      <summary>The GUID_61883_CLASS device interface class is defined for devices in the 61883 device setup class.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.ApplicationLaunchButton">
      <summary>The GUID_DEVICE_APPLICATIONLAUNCH_BUTTON device interface class is defined for Advanced Configuration and Power Interface (ACPI) application start buttons.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Battery">
      <summary>The GUID_DEVICE_BATTERY device interface class is defined for battery devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Lid">
      <summary>The GUID_DEVICE_LID device interface class is defined for Advanced Configuration and Power Interface (ACPI) lid devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Memory">
      <summary>The GUID_DEVICE_MEMORY device interface class is defined for Advanced Configuration and Power Interface (ACPI) memory devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.MessageIndicator">
      <summary>The GUID_DEVICE_MESSAGE_INDICATOR device interface class is defined for Advanced Configuration and Power Interface (ACPI) message indicator devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Processor">
      <summary>The GUID_DEVICE_PROCESSOR device interface class is defined for Advanced Configuration and Power Interface (ACPI) processor devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.SysButton">
      <summary>The GUID_DEVICE_SYS_BUTTON device interface classis defined for Advanced Configuration and Power Interface (ACPI) system power button devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.ThermalZone">
      <summary>The GUID_DEVICE_THERMAL_ZONE device interface class is defined for Advanced Configuration and Power Interface (ACPI) thermal zone devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Bluetooth">
      <summary>The GUID_BTHPORT_DEVICE_INTERFACE device interface class is defined for Bluetooth radios.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Brightness">
      <summary>The GUID_DEVINTERFACE_BRIGHTNESS device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and support brightness control of monitor child devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.DisplayAdapter">
      <summary>The GUID_DEVINTERFACE_DISPLAY_ADAPTER device interface class is defined for display views that are supported by display adapters.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.I2C">
      <summary>The GUID_DEVINTERFACE_I2C device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and perform I2C transactions with monitor child devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.StillImage">
      <summary>The GUID_DEVINTERFACE_IMAGE device interface class is defined for WIA devices and Still Image (STI) devices, including digital cameras and scanners.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Monitor">
      <summary>The GUID_DEVINTERFACE_MONITOR device interface class is defined for monitor devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.OutputProtectionManagement">
      <summary>The GUID_DEVINTERFACE_OPM device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and support output protection management (OPM) for monitor child devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.VideoOutputArrival">
      <summary>The GUID_DEVINTERFACE_VIDEO_OUTPUT_ARRIVAL device interface class is defined for child devices of display devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.DisplayDeviceArrival">
      <summary>The GUID_DISPLAY_DEVICE_ARRIVAL device interface class is defined for display adapters.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Hid">
      <summary>The GUID_DEVINTERFACE_HID device interface class is defined for HID collections.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Keyboard">
      <summary>The GUID_DEVINTERFACE_KEYBOARD device interface class is defined for keyboard devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Mouse">
      <summary>The GUID_DEVINTERFACE_MOUSE device interface class is defined for mouse devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Modem">
      <summary>The GUID_DEVINTERFACE_MODEM device interface class is defined for modem devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Network">
      <summary>The GUID_DEVINTERFACE_NET device interface class is defined for network devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.ComPort">
      <summary>The GUID_DEVINTERFACE_COMPORT device interface class is defined for COM ports.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Parallel">
      <summary>The GUID_DEVINTERFACE_PARALLEL device interface class is defined for parallel ports that support an IEEE 1284-compatible hardware interface.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.ParallelClass">
      <summary>The GUID_DEVINTERFACE_PARCLASS device interface class is defined for devices that are attached to a parallel port.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.SerialEnumBusEnumerator">
      <summary>The GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR device interface class is defined for Plug and Play (PnP) serial ports.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.CdromChanger">
      <summary>The GUID_DEVINTERFACE_CDCHANGER device interface class is defined for CD-ROM changer devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Cdrom">
      <summary>The GUID_DEVINTERFACE_CDROM device interface class is defined for CD-ROM storage devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Disk">
      <summary>The GUID_DEVINTERFACE_DISK device interface class is defined for hard disk storage devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Floppy">
      <summary>The GUID_DEVINTERFACE_FLOPPY device interface class is defined for floppy disk storage devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.MediumChanger">
      <summary>The GUID_DEVINTERFACE_MEDIUMCHANGER device interface class is defined for medium changer devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Partition">
      <summary>The GUID_DEVINTERFACE_PARTITION device interface class is defined for partition devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.StoragePort">
      <summary>The GUID_DEVINTERFACE_STORAGEPORT device interface class is defined for storage port devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Tape">
      <summary>The GUID_DEVINTERFACE_TAPE device interface class is defined for tape storage devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.Volume">
      <summary>The GUID_DEVINTERFACE_VOLUME device interface class is defined for volume devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.WriteOnceDisk">
      <summary>The GUID_DEVINTERFACE_WRITEONCEDISK device interface class is defined for write-once disk devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.UsbDevice">
      <summary>The GUID_DEVINTERFACE_USB_DEVICE device interface class is defined for USB devices that are attached to a USB hub.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.UsbHostController">
      <summary>The GUID_DEVINTERFACE_USB_HOST_CONTROLLER device interface class is defined for USB host controller devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DeviceGuid.UsbHub">
      <summary>The GUID_DEVINTERFACE_USB_HUB device interface class is defined for USB hub devices.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags">
      <summary>Specifies control options that filter the device information elements that are added to the device information set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags.Default">
      <summary>DIGCF_DEFAULT
            <para>Return only the device that is associated with the system default device interface, if one is set, for the specified device interface classes.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags.Present">
      <summary>DIGCF_PRESENT
            <para>Return only devices that are currently present.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags.AllClasses">
      <summary>DIGCF_ALLCLASSES
            <para>Return a list of installed devices for the specified device setup classes or device interface classes.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags.Profile">
      <summary>DIGCF_PROFILE
            <para>Return only devices that are a part of the current hardware profile.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags.DeviceInterface">
      <summary>DIGCF_DEVICEINTERFACE
            <para>
            Return devices that support device interfaces for the specified device interface classes.
            This flag must be set in the Flags parameter if the Enumerator parameter specifies a Device Instance ID. 
            </para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileInfoByHandleClass">
      <summary>FILE_INFO_BY_HANDLE_CLASS
            <para>Identifies the type of file information that GetFileInformationByHandleEx should retrieve or SetFileInformationByHandle should set.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileInfoByHandleClass.FileBasicInfo">
      <summary>FILE_BASIC_INFO
            <para>Minimal information for the file should be retrieved or set. Used for file handles.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileInfoByHandleClass.FileIdBothDirectoryInfo">
      <summary>FILE_ID_BOTH_DIR_INFO
            <para>Files in the specified directory should be retrieved. Used for directory handles.</para><para>Use only when calling GetFileInformationByHandleEx.</para><remarks><para>The number of files returned for each call to GetFileInformationByHandleEx</para><para>depends on the size of the buffer that is passed to the function.</para><para>Any subsequent calls to GetFileInformationByHandleEx on the same handle</para><para>will resume the enumeration operation after the last file is returned.</para></remarks></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags">
      <summary>Additional flags that control the search.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags.None">
      <summary>No additional flags used.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags.CaseSensitive">
      <summary>Searches are case-sensitive.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags.LargeFetch">
      <summary>Uses a larger buffer for directory queries, which can increase performance of the find operation.</summary>
      <remarks>This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels">
      <summary>FINDEX_INFO_LEVELS Enumeration - Defines values that are used with the FindFirstFileEx function to specify the information level of the returned data.</summary>
      <remarks>
        <para>Minimum supported client: Windows XP [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps]</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels.Standard">
      <summary>The FindFirstFileEx function retrieves a standard set of attribute information. The data is returned in a <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData" /> structure.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels.Basic">
      <summary>The FindFirstFileEx function does not query the short file name,
            <para>improving overall enumeration speed.</para><para> </para><remarks><para>The data is returned in a <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData" /> structure,</para><para>and cAlternateFileName member is always a NULL string.</para><para>This value is not supported until Windows Server 2008 R2 and Windows 7.</para></remarks></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps">
      <summary>FINDEX_SEARCH_OPS Enumeration - Defines values that are used with the FindFirstFileEx function to specify the type of filtering to perform.</summary>
      <remarks>
        <para>Minimum supported client: Windows XP [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps]</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps.SearchNameMatch">
      <summary>The search for a file that matches a specified file name.
            <para>The lpSearchFilter parameter of FindFirstFileEx must be NULL when this search operation is used.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps.SearchLimitToDirectories">
      <summary>This is an advisory flag. If the file system supports directory filtering,
            <para>the function searches for a file that matches the specified name and is also a directory.</para><para>If the file system does not support directory filtering, this flag is silently ignored.</para><para> </para><remarks><para>The lpSearchFilter parameter of the FindFirstFileEx function must be NULL when this search value is used.</para><para>If directory filtering is desired, this flag can be used on all file systems,</para><para>but because it is an advisory flag and only affects file systems that support it,</para><para>the application must examine the file attribute data stored in the lpFindFileData parameter</para><para>of the FindFirstFileEx function to determine whether the function has returned a handle to a directory.</para></remarks></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps.SearchLimitToDevices">
      <summary>This filtering type is not available.</summary>
      <remarks>For more information, see Device Interface Classes.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode">
      <summary>Enum for struct ChangeErrorMode.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode.SystemDefault">
      <summary>Use the system default, which is to display all error dialog boxes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode.FailCriticalErrors">
      <summary>The system does not display the critical-error-handler message box. Instead, the system sends the error to the calling process/thread.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode.NoGpfaultErrorbox">
      <summary>The system does not display the Windows Error Reporting dialog.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode.NoAlignmentFaultExcept">
      <summary>The system automatically fixes memory alignment faults and makes them invisible to the application. It does this for the calling process and any descendant processes. This feature is only supported by certain processor architectures.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode.NoOpenFileErrorbox">
      <summary>The system does not display a message box when it fails to find a file. Instead, the error is returned to the calling process/thread.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum">
      <summary>Flags for SetupDiGetDeviceRegistryProperty().</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.DeviceDescription">
      <summary>SPDRP_DEVICEDESC
            <para>Represents a description of a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.HardwareId">
      <summary>SPDRP_HARDWAREID
            <para>Represents the list of hardware identifiers for a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.CompatibleIds">
      <summary>SPDRP_COMPATIBLEIDS
            <para>Represents the list of compatible identifiers for a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.Service">
      <summary>SPDRP_CLASS
            <para>Represents the name of the service that is installed for a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.Class">
      <summary>SPDRP_CLASS
            <para>Represents the name of the device setup class that a device instance belongs to.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.ClassGuid">
      <summary>SPDRP_CLASSGUID
            <para>Represents the <see cref="T:System.Guid" /> of the device setup class that a device instance belongs to.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.Driver">
      <summary>SPDRP_DRIVER
            <para>Represents the registry entry name of the driver key for a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.Manufacturer">
      <summary>SPDRP_MFG
            <para>Represents the name of the manufacturer of a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.FriendlyName">
      <summary>SPDRP_FRIENDLYNAME
            <para>Represents the friendly name of a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.LocationInformation">
      <summary>SPDRP_LOCATION_INFORMATION
            <para>Represents the bus-specific physical location of a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.PhysicalDeviceObjectName">
      <summary>SPDRP_PHYSICAL_DEVICE_LOCATION
            <para>Encapsulates the physical device location information provided by a device's firmware to Windows.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.EnumeratorName">
      <summary>SPDRP_ENUMERATOR_NAME
            <para>Represents the name of the enumerator for a device instance.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.LocationPaths">
      <summary>SPDRP_LOCATION_PATHS
            <para>Represents the location of a device instance in the device tree.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum.BaseContainerId">
      <summary>SPDRP_BASE_CONTAINERID
            <para>Represents the <see cref="T:System.Guid" /> value of the base container identifier (ID) .The Windows Plug and Play (PnP) manager assigns this value to the device node (devnode).</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes">
      <summary>Volume Attributes used by the GetVolumeInfo() function.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.None">
      <summary>No VolumeInfo attributes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.CaseSensitiveSearch">
      <summary>FILE_CASE_SENSITIVE_SEARCH
            <para>The specified volume supports case-sensitive file names.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.CasePreservedNames">
      <summary>FILE_CASE_PRESERVED_NAMES
            <para>The specified volume supports preserved case of file names when it places a name on disk.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.UnicodeOnDisk">
      <summary>FILE_UNICODE_ON_DISK
            <para>The specified volume supports Unicode in file names as they appear on disk.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.PersistentAcls">
      <summary>FILE_PERSISTENT_ACLS
            <para>
            The specified volume preserves and enforces access control lists (ACL).
            For example, the NTFS file system preserves and enforces ACLs, and the FAT file system does not.
            </para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.Compression">
      <summary>FILE_FILE_COMPRESSION
            <para>The specified volume supports file-based compression.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.VolumeQuotas">
      <summary>FILE_VOLUME_QUOTAS
            <para>The specified volume supports disk quotas.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsSparseFiles">
      <summary>FILE_SUPPORTS_SPARSE_FILES
            <para>The specified volume supports sparse files.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsReparsePoints">
      <summary>FILE_SUPPORTS_REPARSE_POINTS
            <para>The specified volume supports re-parse points.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsRemoteStorage">
      <summary>(does not appear on MSDN)</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.VolumeIsCompressed">
      <summary>FILE_VOLUME_IS_COMPRESSED
            <para>The specified volume is a compressed volume, for example, a DoubleSpace volume.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsObjectIds">
      <summary>FILE_SUPPORTS_OBJECT_IDS
            <para>The specified volume supports object identifiers.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsEncryption">
      <summary>FILE_SUPPORTS_ENCRYPTION
            <para>The specified volume supports the Encrypted File System (EFS). For more information, see File Encryption.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.NamedStreams">
      <summary>FILE_NAMED_STREAMS
            <para>The specified volume supports named streams.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.ReadOnlyVolume">
      <summary>FILE_READ_ONLY_VOLUME
            <para>The specified volume is read-only.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SequentialWriteOnce">
      <summary>FILE_SEQUENTIAL_WRITE_ONCE
            <para>The specified volume is read-only.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsTransactions">
      <summary>FILE_SUPPORTS_TRANSACTIONS
            <para>The specified volume supports transactions.For more information, see About KTM.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsHardLinks">
      <summary>FILE_SUPPORTS_HARD_LINKS
            <para>The specified volume supports hard links. For more information, see Hard Links and Junctions.</para></summary>
      <remarks>Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsExtendedAttributes">
      <summary>FILE_SUPPORTS_EXTENDED_ATTRIBUTES
            <para>
            The specified volume supports extended attributes. An extended attribute is a piece of application-specific metadata
            that an application can associate with a file and is not part of the file's data.
            </para></summary>
      <remarks>Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsOpenByFileId">
      <summary>FILE_SUPPORTS_OPEN_BY_FILE_ID
            <para>The file system supports open by FileID. For more information, see FILE_ID_BOTH_DIR_INFO.</para></summary>
      <remarks>Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes.SupportsUsnJournal">
      <summary>FILE_SUPPORTS_USN_JOURNAL
            <para>The specified volume supports update sequence number (USN) journals. For more information, see Change Journal Records.</para></summary>
      <remarks>Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileExInfoLevels">
      <summary>Defines values that are used with the GetFileAttributesEx and GetFileAttributesTransacted functions to specify the information level of the returned data.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileExInfoLevels.GetFileExInfoStandard">
      <summary>The GetFileAttributesEx or GetFileAttributesTransacted function retrieves a standard set of attribute information. The data is returned in a WIN32_FILE_ATTRIBUTE_DATA structure.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.IQueryAssociations">
      <summary>Exposes methods that simplify the process of retrieving information stored in the registry in association with defining a file type or protocol and associating it with an application.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.IQueryAssociations.Init(Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes,System.String,System.IntPtr,System.IntPtr)">
      <summary>Initializes the IQueryAssociations interface and sets the root key to the appropriate ProgID.</summary>
      <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.IQueryAssociations.GetString(Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes,Alphaleonis.Win32.Filesystem.Shell32.AssociationString,System.String,System.Text.StringBuilder,System.Int32@)">
      <summary>Searches for and retrieves a file or protocol association-related string from the registry.</summary>
      <returns>Returns a standard COM error value, including the following: S_OK, E_POINTER, S_FALSE</returns>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.NativeCopyMoveProgressRoutine">
      <summary>An application-defined callback function used with the CopyFileEx, MoveFileTransacted, and MoveFileWithProgress functions.
            <para>It is called when a portion of a copy or move operation is completed.</para><para>The LPPROGRESS_ROUTINE type defines a pointer to this callback function.</para><para>NativeCopyMoveProgressRoutine (NativeCopyMoveProgressRoutine) is a placeholder for the application-defined function name.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SafeSetupDiClassDevsExHandle">
      <summary>Represents a wrapper class for a handle used by the SetupDiGetClassDevs/SetupDiDestroyDeviceInfoList Win32 API functions.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SafeSetupDiClassDevsExHandle.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.SafeSetupDiClassDevsExHandle" /> class.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo">
      <summary>FILE_BASIC_INFO structure
              <para>Contains the basic information for a file. Used for file handles.</para></summary>
      <remarks>
        <para>Specifying -1 for <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastAccessTime" />, <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.ChangeTime" />, or <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastWriteTime" /></para>
        <para>indicates that operations on the current handle should not affect the given field.</para>
        <para>(I.e, specifying -1 for <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastWriteTime" /> will leave the <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastWriteTime" /> unaffected by writes performed
              on the current handle.)</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.CreationTime">
      <summary>The time the file was created in <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> format,
            <para>which is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC).</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastAccessTime">
      <summary>The time the file was last accessed in <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> format.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.LastWriteTime">
      <summary>The time the file was last written to in <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> format.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.ChangeTime">
      <summary>The time the file was changed in <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> format.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo.FileAttributes">
      <summary>The file attributes.</summary>
      <remarks>If this is set to 0 in a <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo" /> structure passed to SetFileInformationByHandle then none of the attributes are changed.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo">
      <summary>Contains information that the GetFileInformationByHandle function retrieves.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.FileAttributes">
      <summary>The file attributes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.CreationTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure that specifies when a file or directory is created.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.LastAccessTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure. For a file, the structure specifies the last time that a file is read from or written to.
            For a directory, the structure specifies when the directory is created.
            For both files and directories, the specified date is correct, but the time of day is always set to midnight.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.LastWriteTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure. For a file, the structure specifies the last time that a file is written to.
            For a directory, the structure specifies when the directory is created.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.VolumeSerialNumber">
      <summary>The serial number of the volume that contains a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.FileSizeHigh">
      <summary>The high-order part of the file size.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.FileSizeLow">
      <summary>The low-order part of the file size.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.NumberOfLinks">
      <summary>The number of links to this file. For the FAT file system this member is always 1. For the NTFS file system, it can be more than 1.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.FileIndexHigh">
      <summary>The high-order part of a unique identifier that is associated with a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo.FileIndexLow">
      <summary>The low-order part of a unique identifier that is associated with a file.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.ChangeErrorMode">
      <summary>Controls whether the system will handle the specified types of serious errors or whether the process will handle them.</summary>
      <remarks>Minimum supported client: Windows 2000 Professional</remarks>
      <remarks>Minimum supported server: Windows 2000 Server</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo">
      <summary>FILE_ID_BOTH_DIR_INFO - Contains information about files in the specified directory. Used for directory handles. Use only when calling GetFileInformationByHandleEx.</summary>
      <remarks>
            The number of files that are returned for each call to GetFileInformationByHandleEx depends on the size of the buffer that is passed to the function.
            Any subsequent calls to GetFileInformationByHandleEx on the same handle will resume the enumeration operation after the last file is returned.
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.NextEntryOffset">
      <summary>The offset for the next FILE_ID_BOTH_DIR_INFO structure that is returned. Contains zero (0) if no other entries follow this one.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.FileIndex">
      <summary>The byte offset of the file within the parent directory. This member is undefined for file systems, such as NTFS,
            in which the position of a file within the parent directory is not fixed and can be changed at any time to maintain sort order.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.CreationTime">
      <summary>The time that the file was created.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.LastAccessTime">
      <summary>The time that the file was last accessed.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.LastWriteTime">
      <summary>The time that the file was last written to.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.ChangeTime">
      <summary>The time that the file was last changed.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.EndOfFile">
      <summary>The absolute new end-of-file position as a byte offset from the start of the file to the end of the file.
            Because this value is zero-based, it actually refers to the first free byte in the file.
            In other words, EndOfFile is the offset to the byte that immediately follows the last valid byte in the file.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.AllocationSize">
      <summary>The number of bytes that are allocated for the file. This value is usually a multiple of the sector or cluster size of the underlying physical device.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.FileAttributes">
      <summary>The file attributes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.FileNameLength">
      <summary>The length of the file name.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.EaSize">
      <summary>The size of the extended attributes for the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.ShortNameLength">
      <summary>The length of ShortName.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.ShortName">
      <summary>The short 8.3 file naming convention (for example, "FILENAME.TXT") name of the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.FileId">
      <summary>The file ID.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FileIdBothDirInfo.FileName">
      <summary>The first character of the file name string. This is followed in memory by the remainder of the string.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime">
      <summary>FILETIME - Represents the number of 100-nanosecond intervals since January 1, 1601. This structure is a 64-bit value.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.op_Implicit(Alphaleonis.Win32.Filesystem.NativeMethods.FileTime)~System.Int64">
      <summary>Converts a value to long.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.ToLong">
      <summary>Converts a value to long.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.Equals(System.Object)">
      <summary>Determines whether the specified Object is equal to the current Object.</summary>
      <param name="obj">Another object to compare to.</param>
      <returns>
        <see langword="true" /> if the specified Object is equal to the current Object; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.GetHashCode">
      <summary>Serves as a hash function for a particular type.</summary>
      <returns>A hash code for the current Object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.op_Equality(Alphaleonis.Win32.Filesystem.NativeMethods.FileTime,Alphaleonis.Win32.Filesystem.NativeMethods.FileTime)">
      <summary>Implements the operator ==</summary>
      <param name="left">A.</param>
      <param name="right">B.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime.op_Inequality(Alphaleonis.Win32.Filesystem.NativeMethods.FileTime,Alphaleonis.Win32.Filesystem.NativeMethods.FileTime)">
      <summary>Implements the operator !=</summary>
      <param name="left">A.</param>
      <param name="right">B.</param>
      <returns>The result of the operator.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData">
      <summary>SP_DEVINFO_DATA - An SP_DEVINFO_DATA structure defines a device instance that is a member of a device information set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData.cbSize">
      <summary>The size, in bytes, of the SP_DEVINFO_DATA structure.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData.ClassGuid">
      <summary>The GUID of the device's setup class.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData.DevInst">
      <summary>An opaque handle to the device instance (also known as a handle to the devnode).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData.Reserved">
      <summary>Reserved. For internal use only.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData">
      <summary>SP_DEVICE_INTERFACE_DATA - An SP_DEVICE_INTERFACE_DATA structure defines a device interface in a device information set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData.cbSize">
      <summary>The size, in bytes, of the SP_DEVICE_INTERFACE_DATA structure.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData.InterfaceClassGuid">
      <summary>The GUID for the class to which the device interface belongs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData.Flags">
      <summary>Can be one or more of the following: SPINT_ACTIVE (1), SPINT_DEFAULT (2), SPINT_REMOVED (3).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData.Reserved">
      <summary>Reserved. Do not use.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceDetailData">
      <summary>SP_DEVICE_INTERFACE_DETAIL_DATA - An SP_DEVICE_INTERFACE_DETAIL_DATA structure contains the path for a device interface.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceDetailData.cbSize">
      <summary>The size, in bytes, of the SP_DEVICE_INTERFACE_DETAIL_DATA structure.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceDetailData.DevicePath">
      <summary>The device interface path. This path can be passed to Win32 functions such as CreateFile.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData">
      <summary>WIN32_FILE_ATTRIBUTE_DATA structure contains attribute information for a file or directory. The GetFileAttributesEx function uses this structure.</summary>
      <remarks>
            Not all file systems can record creation and last access time, and not all file systems record them in the same manner.
            For example, on the FAT file system, create time has a resolution of 10 milliseconds, write time has a resolution of 2 seconds,
            and access time has a resolution of 1 day. On the NTFS file system, access time has a resolution of 1 hour. 
            For more information, see File Times.
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.FileAttributes">
      <summary>The file attributes of a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.CreationTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure that specifies when a file or directory was created.
            If the underlying file system does not support creation time, this member is zero.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.LastAccessTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure.
            For a file, the structure specifies when the file was last read from, written to, or for executable files, run.
            For a directory, the structure specifies when the directory is created. If the underlying file system does not support last access time, this member is zero.
            On the FAT file system, the specified date for both files and directories is correct, but the time of day is always set to midnight.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.LastWriteTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure.
            For a file, the structure specifies when the file was last written to, truncated, or overwritten, for example, when WriteFile or SetEndOfFile are used.
            The date and time are not updated when file attributes or security descriptors are changed.
            For a directory, the structure specifies when the directory is created. If the underlying file system does not support last write time, this member is zero.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.FileSizeHigh">
      <summary>The high-order DWORD of the file size. This member does not have a meaning for directories.
            This value is zero unless the file size is greater than MAXDWORD.
            The size of the file is equal to (nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.FileSizeLow">
      <summary>The low-order DWORD of the file size. This member does not have a meaning for directories.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData.FileSize">
      <summary>The file size.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData">
      <summary>WIN32_FIND_DATA - Contains information about the file that is found by the FindFirstFile, FindFirstFileEx, or FindNextFile function.</summary>
      <remarks>
            If a file has a long file name, the complete name appears in the cFileName member, and the 8.3 format truncated version of the name appears
            in the cAlternateFileName member. Otherwise, cAlternateFileName is empty. If the FindFirstFileEx function was called with a value of FindExInfoBasic
            in the fInfoLevelId parameter, the cAlternateFileName member will always contain a <see langword="null" /> string value. This remains true for all subsequent calls to the
            FindNextFile function. As an alternative method of retrieving the 8.3 format version of a file name, you can use the GetShortPathName function.
            For more information about file names, see File Names, Paths, and Namespaces.
            </remarks>
      <remarks>
            Not all file systems can record creation and last access times, and not all file systems record them in the same manner.
            For example, on the FAT file system, create time has a resolution of 10 milliseconds, write time has a resolution of 2 seconds,
            and access time has a resolution of 1 day. The NTFS file system delays updates to the last access time for a file by up to 1 hour
            after the last access. For more information, see File Times.
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.FileAttributes">
      <summary>The file attributes of a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.CreationTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure that specifies when a file or directory was created.
            If the underlying file system does not support creation time, this member is zero.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.LastAccessTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure.
            For a file, the structure specifies when the file was last read from, written to, or for executable files, run.
            For a directory, the structure specifies when the directory is created. If the underlying file system does not support last access time, this member is zero.
            On the FAT file system, the specified date for both files and directories is correct, but the time of day is always set to midnight.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.LastWriteTime">
      <summary>A <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FileTime" /> structure.
            For a file, the structure specifies when the file was last written to, truncated, or overwritten, for example, when WriteFile or SetEndOfFile are used.
            The date and time are not updated when file attributes or security descriptors are changed.
            For a directory, the structure specifies when the directory is created. If the underlying file system does not support last write time, this member is zero.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.FileSizeHigh">
      <summary>The high-order DWORD of the file size. This member does not have a meaning for directories.
            This value is zero unless the file size is greater than MAXDWORD.
            The size of the file is equal to (nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.FileSizeLow">
      <summary>The low-order DWORD of the file size. This member does not have a meaning for directories.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.Reserved0">
      <summary>If the dwFileAttributes member includes the FILE_ATTRIBUTE_REPARSE_POINT attribute, this member specifies the reparse point tag.
            Otherwise, this value is undefined and should not be used.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.Reserved1">
      <summary>Reserved for future use.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.FileName">
      <summary>The name of the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData.AlternateFileName">
      <summary>An alternative name for the file. This name is in the classic 8.3 file name format.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID">
      <summary>WIN32_STREAM_ID structure - Contains stream data.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID.StreamType">
      <summary>Type of stream data.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID.StreamAttributes">
      <summary>Attributes of data to facilitate cross-operating system transfer.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID.StreamSize">
      <summary>Size of data, in bytes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.WIN32_STREAM_ID.StreamNameSize">
      <summary>Length of the name of the alternative data stream, in bytes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.DefaultFileBufferSize">
      <summary>DefaultFileBufferSize = 4096; Default type buffer size used for reading and writing files.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.MaxPath">
      <summary>MaxPath = 260
            The specified path, file name, or both exceed the system-defined maximum length.
            For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. 
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.MaxPathUnicode">
      <summary>MaxPathUnicode = 32000</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevel">
      <summary>The FindFirstFileEx function does not query the short file name, improving overall enumeration speed.
            <para> </para><remarks><para>The data is returned in a <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData" /> structure,</para><para>and cAlternateFileName member is always a NULL string.</para><para>This value is not supported until Windows Server 2008 R2 and Windows 7.</para></remarks></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.LargeCache">
      <summary>Uses a larger buffer for directory queries, which can increase performance of the find operation.</summary>
      <remarks>This value is not supported until Windows Server 2008 R2 and Windows 7.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.NativeMethods.DefaultFileEncoding">
      <summary>DefaultFileEncoding = Encoding.UTF8; Default type of Encoding used for reading and writing files.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateTransaction(Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IntPtr,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.String)">
      <summary>
              Creates a new transaction object.
            </summary>
      <remarks>
        <para>Use the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CloseHandle(System.IntPtr)" /> function to close the transaction handle. If the last transaction handle is closed
              beforea client calls the CommitTransaction function with the transaction handle, then KTM rolls back the transaction.</para>
        <para>Minimum supported client: Windows Vista</para>
        <para>Minimum supported server:Windows Server 2008</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is a handle to the transaction.</para>
        <para>If the function fails, the return value is INVALID_HANDLE_VALUE. To get extended error information, call the GetLastError
              function.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CommitTransaction(System.Runtime.InteropServices.SafeHandle)">
      <summary>Requests that the specified transaction be committed.</summary>
      <remarks>
        <para>You can commit any transaction handle that has been opened or created using the TRANSACTION_COMMIT permission; any
              application can commit a transaction, not just the creator.</para>
        <para>This function can only be called if the transaction is still active, not prepared, pre-prepared, or rolled back.</para>
        <para>Minimum supported client: Windows Vista</para>
        <para>Minimum supported server:Windows Server 2008</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is 0 (zero). To get extended error information, call the GetLastError function.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.RollbackTransaction(System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Requests that the specified transaction be rolled back. This function is synchronous.      
            </summary>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call the GetLastError function. </para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CloseHandle(System.IntPtr)">
      <summary>Closes an open object handle.</summary>
      <remarks>
        <para>The CloseHandle function closes handles to the following objects:</para>
        <para>Access token, Communications device, Console input, Console screen buffer, Event, File, File mapping, I/O completion port,
              Job, Mailslot, Memory resource notification, Mutex, Named pipe, Pipe, Process, Semaphore, Thread, Transaction, Waitable
              timer.</para>
        <para>SetLastError is set to <see langword="false" />.</para>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps | Windows Store apps]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
        <para>If the application is running under a debugger, the function will throw an exception if it receives either a handle value
              that is not valid or a pseudo-handle value.This can happen if you close a handle twice, or if you call CloseHandle on a handle
              returned by the FindFirstFile function instead of calling the FindClose function.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.AssocCreate(System.Guid,System.Guid@,Alphaleonis.Win32.Filesystem.NativeMethods.IQueryAssociations@)">
      <summary>Returns a pointer to an IQueryAssociations object.</summary>
      <returns>If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.AssocQueryString(Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes,Alphaleonis.Win32.Filesystem.Shell32.AssociationString,System.String,System.String,System.Text.StringBuilder,System.UInt32@)">
      <summary>Searches for and retrieves a file or protocol association-related string from the registry.</summary>
      <returns>Return value Type: HRESULT. Returns a standard COM error value, including the following: S_OK, E_POINTER and S_FALSE.</returns>
      <remarks>Minimum supported client: Windows 2000 Professional</remarks>
      <remarks>Minimum supported server: Windows 2000 Server</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CopyFileEx(System.String,System.String,Alphaleonis.Win32.Filesystem.NativeMethods.NativeCopyMoveProgressRoutine,System.IntPtr,System.Boolean@,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>
              Copies an existing file to a new file, notifying the application of its progress through a callback function.
            </summary>
      <remarks>
        <para>This function fails with ERROR_ACCESS_DENIED if the destination file already exists and has the FILE_ATTRIBUTE_HIDDEN or
              FILE_ATTRIBUTE_READONLY attribute set.</para>
        <para>This function preserves extended attributes, OLE structured storage, NTFS file system alternate data streams, security
              resource attributes, and file attributes.</para>
        <para>Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:
              Security resource attributes (ATTRIBUTE_SECURITY_INFORMATION) for the existing file are not copied to the new file until
              Windows 8 and Windows Server 2012.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpExistingFileName">Filename of the existing file.</param>
      <param name="lpNewFileName">Filename of the new file.</param>
      <param name="lpProgressRoutine">The progress routine.</param>
      <param name="lpData">The data.</param>
      <param name="pbCancel">[out] The pb cancel.</param>
      <param name="dwCopyFlags">The copy flags.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CopyFileTransacted(System.String,System.String,Alphaleonis.Win32.Filesystem.NativeMethods.NativeCopyMoveProgressRoutine,System.IntPtr,System.Boolean@,Alphaleonis.Win32.Filesystem.CopyOptions,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Copies an existing file to a new file as a transacted operation, notifying the application of its progress through a callback
              function.
            </summary>
      <remarks>
        <para>This function fails with ERROR_ACCESS_DENIED if the destination file already exists and has the FILE_ATTRIBUTE_HIDDEN or
              FILE_ATTRIBUTE_READONLY attribute set.</para>
        <para>This function preserves extended attributes, OLE structured storage, NTFS file system alternate data streams, security
              resource attributes, and file attributes.</para>
        <para>Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:
              Security resource attributes (ATTRIBUTE_SECURITY_INFORMATION) for the existing file are not copied to the new file until
              Windows 8 and Windows Server 2012.</para>
        <para>Minimum supported client: Windows Vista [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFile(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr)">
      <summary>
              Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical
              disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe.
            </summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is an open handle to the specified file, device, named pipe, or mail slot. If the
              function fails, the return value is Win32Errors.ERROR_INVALID_HANDLE. To get extended error information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFileTransacted(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr,System.Runtime.InteropServices.SafeHandle,System.IntPtr,System.IntPtr)">
      <summary>
              Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical
              disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe.
            </summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is an open handle to the specified file, device, named pipe, or mail slot. If the
              function fails, the return value is Win32Errors.ERROR_INVALID_HANDLE". To get extended error information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFileMapping(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Runtime.InteropServices.SafeHandle,System.UInt32,System.UInt32,System.UInt32,System.String)">
      <summary>Creates or opens a named or unnamed file mapping object for a specified file.</summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is a handle to the newly created file mapping object. If the function fails, the return
              value is <see langword="null" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateHardLink(System.String,System.String,System.IntPtr)">
      <summary>
              Establishes a hard link between an existing file and a new file. This function is only supported on the NTFS file system, and only
              for files, not directories.
            </summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateHardLinkTransacted(System.String,System.String,System.IntPtr,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Establishes a hard link between an existing file and a new file as a transacted operation. This function is only supported on the
              NTFS file system, and only for files, not directories.
            </summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateSymbolicLink(System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget)">
      <summary>Creates a symbolic link.</summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateSymbolicLinkTransacted(System.String,System.String,Alphaleonis.Win32.Filesystem.SymbolicLinkTarget,System.Runtime.InteropServices.SafeHandle)">
      <summary>Creates a symbolic link as a transacted operation.</summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DecryptFile(System.String,System.UInt32)">
      <summary>Decrypts an encrypted file or directory.</summary>
      <remarks>
              The DecryptFile function requires exclusive access to the file being decrypted, and will fail if another process is using the file.
              If the file is not encrypted, DecryptFile simply returns a nonzero value, which indicates success. If lpFileName specifies a read-
              only file, the function fails and GetLastError returns ERROR_FILE_READ_ONLY. If lpFileName specifies a directory that contains a
              read-only file, the functions succeeds but the directory is not decrypted.
            </remarks>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DeleteFile(System.String)">
      <summary>Deletes an existing file.</summary>
      <remarks>
              If an application attempts to delete a file that does not exist, the DeleteFile function fails with ERROR_FILE_NOT_FOUND.
            </remarks>
      <remarks>If the file is a read-only file, the function fails with ERROR_ACCESS_DENIED.</remarks>
      <remarks>
              If the path points to a symbolic link, the symbolic link is deleted, not the target. To delete a target, you must call CreateFile
              and specify FILE_FLAG_DELETE_ON_CLOSE.
            </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps | Windows Store apps].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DeleteFileTransacted(System.String,System.Runtime.InteropServices.SafeHandle)">
      <summary>Deletes an existing file as a transacted operation.</summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.EncryptFile(System.String)">
      <summary>
              Encrypts a file or directory. All data streams in a file are encrypted. All new files created in an encrypted directory are
              encrypted.
            </summary>
      <remarks>
              The EncryptFile function requires exclusive access to the file being encrypted, and will fail if another process is using the file.
              If the file is already encrypted, EncryptFile simply returns a nonzero value, which indicates success. If the file is compressed,
              EncryptFile will decompress the file before encrypting it. If lpFileName specifies a read-only file, the function fails and
              GetLastError returns ERROR_FILE_READ_ONLY. If lpFileName specifies a directory that contains a read-only file, the functions
              succeeds but the directory is not encrypted.
            </remarks>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.EncryptionDisable(System.String,System.Boolean)">
      <summary>
              Disables or enables encryption of the specified directory and the files in it. It does not affect encryption of subdirectories
              below the indicated directory.
            </summary>
      <remarks>
              EncryptionDisable() disables encryption of directories and files. It does not affect the visibility of files with the
              FILE_ATTRIBUTE_SYSTEM attribute set. This method will create/change the file "Desktop.ini" and wil set Encryption value:
              "Disable=0|1".
            </remarks>
      <remarks>Minimum supported client: Windows XP Professional [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FileEncryptionStatus(System.String,Alphaleonis.Win32.Filesystem.FileEncryptionStatus@)">
      <summary>Retrieves the encryption status of the specified file.</summary>
      <remarks>Minimum supported client: Windows XP Professional [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindClose(System.IntPtr)">
      <summary>
              Closes a file search handle opened by the FindFirstFile, FindFirstFileEx, FindFirstFileNameW, FindFirstFileNameTransactedW,
              FindFirstFileTransacted, FindFirstStreamTransactedW, or FindFirstStreamW functions.
            </summary>
      <remarks>Minimum supported client: Windows XP [desktop apps | Windows Store apps].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstFileEx(System.String,Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData@,Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps,System.IntPtr,Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags)">
      <summary>Searches a directory for a file or subdirectory with a name and attributes that match those specified.</summary>
      <remarks>A trailing backslash is not allowed and will be removed.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps | Windows Store apps].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps].</remarks>
      <returns>
              If the function succeeds, the return value is a search handle used in a subsequent call to FindNextFile or FindClose, and the
              lpFindFileData parameter contains information about the first file or directory found. If the function fails or fails to locate
              files from the search string in the lpFileName parameter, the return value is INVALID_HANDLE_VALUE and the contents of
              lpFindFileData are indeterminate. To get extended error information, call the GetLastError function.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstFileTransacted(System.String,Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData@,Alphaleonis.Win32.Filesystem.NativeMethods.FindExSearchOps,System.IntPtr,Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Searches a directory for a file or subdirectory with a name that matches a specific name as a transacted operation.
            </summary>
      <remarks>A trailing backslash is not allowed and will be removed.</remarks>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is a search handle used in a subsequent call to FindNextFile or FindClose, and the
              lpFindFileData parameter contains information about the first file or directory found. If the function fails or fails to locate
              files from the search string in the lpFileName parameter, the return value is INVALID_HANDLE_VALUE and the contents of
              lpFindFileData are indeterminate. To get extended error information, call the GetLastError function.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstFileName(System.String,System.UInt32,System.UInt32@,System.Text.StringBuilder)">
      <summary>
              Creates an enumeration of all the hard links to the specified file. The FindFirstFileNameW function returns a handle to the
              enumeration that can be used on subsequent calls to the FindNextFileNameW function.
            </summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is a search handle that can be used with the FindNextFileNameW function or closed with
              the FindClose function. If the function fails, the return value is INVALID_HANDLE_VALUE (0xffffffff). To get extended error
              information, call the GetLastError function.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstFileNameTransacted(System.String,System.UInt32,System.UInt32@,System.Text.StringBuilder,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Creates an enumeration of all the hard links to the specified file as a transacted operation. The function returns a handle to the
              enumeration that can be used on subsequent calls to the FindNextFileNameW function.
            </summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is a search handle that can be used with the FindNextFileNameW function or closed with
              the FindClose function. If the function fails, the return value is INVALID_HANDLE_VALUE (0xffffffff). To get extended error
              information, call the GetLastError function.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindNextFile(Alphaleonis.Win32.Filesystem.SafeFindFileHandle,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData@)">
      <summary>
              Continues a file search from a previous call to the FindFirstFile, FindFirstFileEx, or FindFirstFileTransacted functions.
            </summary>
      <remarks>Minimum supported client: Windows XP [desktop apps | Windows Store apps].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero and the lpFindFileData parameter contains information about the next file or
              directory found. If the function fails, the return value is zero and the contents of lpFindFileData are indeterminate. To get
              extended error information, call the GetLastError function. If the function fails because no more matching files can be found, the
              GetLastError function returns ERROR_NO_MORE_FILES.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindNextFileName(Alphaleonis.Win32.Filesystem.SafeFindFileHandle,System.UInt32@,System.Text.StringBuilder)">
      <summary>
              Continues enumerating the hard links to a file using the handle returned by a successful call to the FindFirstFileName function.
            </summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero (0). To get extended error
              information, call GetLastError. If no matching files can be found, the GetLastError function returns ERROR_HANDLE_EOF.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FlushFileBuffers(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>Flushes the buffers of a specified file and causes all buffered data to be written to a file.</summary>
      <remarks>Minimum supported client: Windows XP [desktop apps | Windows Store apps].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetCompressedFileSize(System.String,System.UInt32@)">
      <summary>Retrieves the actual number of bytes of disk storage used to store a specified file.</summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is the low-order DWORD of the actual number of bytes of disk storage used to store the
              specified file, and if lpFileSizeHigh is non-NULL, the function puts the high-order DWORD of that actual value into the DWORD
              pointed to by that parameter. This is the compressed file size for compressed files, the actual file size for noncompressed files.
              If the function fails, and lpFileSizeHigh is NULL, the return value is INVALID_FILE_SIZE. To get extended error information, call
              GetLastError. If the return value is INVALID_FILE_SIZE and lpFileSizeHigh is non-NULL, an application must call GetLastError to
              determine whether the function has succeeded (value is NO_ERROR) or failed (value is other than NO_ERROR).
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetCompressedFileSizeTransacted(System.String,System.UInt32@,System.Runtime.InteropServices.SafeHandle)">
      <summary>Retrieves the actual number of bytes of disk storage used to store a specified file as a transacted operation.</summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is the low-order DWORD of the actual number of bytes of disk storage used to store the
              specified file, and if lpFileSizeHigh is non-NULL, the function puts the high-order DWORD of that actual value into the DWORD
              pointed to by that parameter. This is the compressed file size for compressed files, the actual file size for noncompressed files.
              If the function fails, and lpFileSizeHigh is NULL, the return value is INVALID_FILE_SIZE. To get extended error information, call
              GetLastError. If the return value is INVALID_FILE_SIZE and lpFileSizeHigh is non-NULL, an application must call GetLastError to
              determine whether the function has succeeded (value is NO_ERROR) or failed (value is other than NO_ERROR).
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileAttributesEx(System.String,Alphaleonis.Win32.Filesystem.NativeMethods.GetFileExInfoLevels,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData@)">
      <summary>
              Retrieves attributes for a specified file or directory.
            </summary>
      <remarks>
        <para>The GetFileAttributes function retrieves file system attribute information.</para>
        <para>GetFileAttributesEx can obtain other sets of file or directory attribute information.</para>
        <para>Currently, GetFileAttributesEx retrieves a set of standard attributes that is a superset of the file system attribute
              information.
              When the GetFileAttributesEx function is called on a directory that is a mounted folder, it returns the attributes of the directory,
              not those of the root directory in the volume that the mounted folder associates with the directory. To obtain the attributes of
              the associated volume, call GetVolumeNameForVolumeMountPoint to obtain the name of the associated volume. Then use the resulting
              name in a call to GetFileAttributesEx. The results are the attributes of the root directory on the associated volume.</para>
        <para>Symbolic link behavior: If the path points to a symbolic link, the function returns attributes for the symbolic link.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileAttributesTransacted(System.String,Alphaleonis.Win32.Filesystem.NativeMethods.GetFileExInfoLevels,Alphaleonis.Win32.Filesystem.NativeMethods.Win32FileAttributeData@,System.Runtime.InteropServices.SafeHandle)">
      <summary>Retrieves attributes for a specified file or directory.</summary>
      <remarks>
        <para>The GetFileAttributes function retrieves file system attribute information.</para>
        <para>GetFileAttributesEx can obtain other sets of file or directory attribute information.</para>
        <para>
              Currently, GetFileAttributesEx retrieves a set of standard attributes that is a superset of the file system attribute information.
              When the GetFileAttributesEx function is called on a directory that is a mounted folder, it returns the attributes of the directory,
              not those of the root directory in the volume that the mounted folder associates with the directory. To obtain the attributes of
              the associated volume, call GetVolumeNameForVolumeMountPoint to obtain the name of the associated volume. Then use the resulting
              name in a call to GetFileAttributesEx. The results are the attributes of the root directory on the associated volume.</para>
        <para>Symbolic link behavior: If the path points to a symbolic link, the function returns attributes for the symbolic link.</para>
        <para>Transacted Operations</para>
        <para>If a file is open for modification in a transaction, no other thread can open the file for modification until the transaction
              is committed. Conversely, if a file is open for modification outside of a transaction, no transacted thread can open the file for
              modification until the non-transacted handle is closed. If a non-transacted thread has a handle opened to modify a file, a call to
              GetFileAttributesTransacted for that file will fail with an ERROR_TRANSACTIONAL_CONFLICT error.</para>
        <para>Minimum supported client: Windows Vista [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileInformationByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.Filesystem.NativeMethods.ByHandleFileInfo@)">
      <summary>Retrieves file information for the specified file.</summary>
      <returns>
            If the function succeeds, the return value is nonzero and file information data is contained in the buffer pointed to by the lpByHandleFileInformation parameter.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>
            Depending on the underlying network features of the operating system and the type of server connected to,
            the GetFileInformationByHandle function may fail, return partial information, or full information for the given file.
            </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileInformationByHandleEx(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.Filesystem.NativeMethods.FileInfoByHandleClass,System.IntPtr,System.UInt32)">
      <summary>
              Retrieves file information for the specified file.
            </summary>
      <remarks>
        <para>Minimum supported client: Windows Vista [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps | Windows Store apps]</para>
        <para>Redistributable: Windows SDK on Windows Server 2003 and Windows XP.</para>
      </remarks>
      <param name="hFile">The file.</param>
      <param name="fileInfoByHandleClass">The file information by handle class.</param>
      <param name="lpFileInformation">Information describing the file.</param>
      <param name="dwBufferSize">Size of the buffer.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero and file information data is contained in the buffer pointed to by the
              lpByHandleFileInformation parameter.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileInformationByHandleEx_FileBasicInfo(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.Filesystem.NativeMethods.FileInfoByHandleClass,Alphaleonis.Win32.Filesystem.NativeMethods.FileBasicInfo@,System.UInt32)">
      <summary>Retrieves file information for the specified file.</summary>
      <remarks>
        <para>Minimum supported client: Windows Vista [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps | Windows Store apps]</para>
        <para>Redistributable: Windows SDK on Windows Server 2003 and Windows XP.</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero and file information data is contained in the buffer pointed to by the
              lpByHandleFileInformation parameter.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
      <param name="hFile">The file.</param>
      <param name="fileInfoByHandleClass">The file information by handle class.</param>
      <param name="lpFileInformation">Information describing the file.</param>
      <param name="dwBufferSize">Size of the buffer.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFileSizeEx(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Int64@)">
      <summary>
              Retrieves the size of the specified file.
            </summary>
      <remarks>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFinalPathNameByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Text.StringBuilder,System.UInt32,Alphaleonis.Win32.Filesystem.FinalPathFormats)">
      <summary>Retrieves the final path for the specified file.</summary>
      <remarks>Minimum supported client: Windows Vista [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetMappedFileName(System.IntPtr,Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle,System.Text.StringBuilder,System.UInt32)">
      <summary>
              Checks whether the specified address is within a memory-mapped file in the address space of the specified process. If so, the
              function returns the name of the memory-mapped file.
            </summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.LockFile(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
      <summary>Locks the specified file for exclusive access by the calling process.</summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero (TRUE). If the function fails, the return value is zero (FALSE). To get
              extended error information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.MapViewOfFile(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.UInt32,System.UInt32,System.UIntPtr)">
      <summary>Maps a view of a file mapping into the address space of a calling process.</summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is the starting address of the mapped view. If the function fails, the return value is
              <see langword="null" />.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.MoveFileWithProgress(System.String,System.String,Alphaleonis.Win32.Filesystem.NativeMethods.NativeCopyMoveProgressRoutine,System.IntPtr,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>
              Moves a file or directory, including its children.
              <para>You can provide a callback function that receives progress notifications.</para></summary>
      <remarks>
        <para>The MoveFileWithProgress function coordinates its operation with the link tracking service, so link sources can be tracked as
              they are moved.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpExistingFileName">Filename of the existing file.</param>
      <param name="lpNewFileName">Filename of the new file.</param>
      <param name="lpProgressRoutine">The progress routine.</param>
      <param name="lpData">The data.</param>
      <param name="dwFlags">The flags.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.MoveFileTransacted(System.String,System.String,Alphaleonis.Win32.Filesystem.NativeMethods.NativeCopyMoveProgressRoutine,System.IntPtr,Alphaleonis.Win32.Filesystem.MoveOptions,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Moves an existing file or a directory, including its children, as a transacted operation.
              <para>You can provide a callback function that receives progress notifications.</para></summary>
      <remarks>
        <para>Minimum supported client: Windows Vista [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.PathFileExists(System.String)">
      <summary>Determines whether a path to a file system object such as a file or folder is valid.</summary>
      <returns>
        <see langword="true" /> if the file exists; otherwise, <see langword="false" />. Call GetLastError for extended error information.</returns>
      <remarks>
            This function tests the validity of the path.
            A path specified by Universal Naming Convention (UNC) is limited to a file only; that is, \\server\share\file is permitted.
            A network share path to a server or server share is not permitted; that is, \\server or \\server\share.
            This function returns FALSE if a mounted remote drive is out of service.
            </remarks>
      <remarks>Minimum supported client: Windows 2000 Professional</remarks>
      <remarks>Minimum supported server: Windows 2000 Server</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.ReplaceFile(System.String,System.String,System.String,System.Security.AccessControl.FileSystemRights,System.IntPtr,System.IntPtr)">
      <summary>Replaces one file with another file, with the option of creating a backup copy of the original file. The replacement file assumes the name of the replaced file and its identity.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetFileAttributes(System.String,System.IO.FileAttributes)">
      <summary>Sets the attributes for a file or directory.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP</remarks>
      <remarks>Minimum supported server: Windows Server 2003</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetFileAttributesTransacted(System.String,System.IO.FileAttributes,System.Runtime.InteropServices.SafeHandle)">
      <summary>Sets the attributes for a file or directory as a transacted operation.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows Vista [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetFileTime(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle)">
      <summary>Sets the date and time that the specified file or directory was created, last accessed, or last modified.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.ShGetFileInfo(System.String,System.IO.FileAttributes,Alphaleonis.Win32.Filesystem.Shell32.FileInfo@,System.UInt32,Alphaleonis.Win32.Filesystem.Shell32.FileAttributes)">
      <summary>Retrieves information about an object in the file system, such as a file, folder, directory, or drive root.</summary>
      <remarks>You should call this function from a background thread. Failure to do so could cause the UI to stop responding.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.UnlockFile(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
      <summary>Unlocks a region in an open file. Unlocking a region enables other processes to access the region.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP</remarks>
      <remarks>Minimum supported server: Windows Server 2003</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.UnmapViewOfFile(Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle)">
      <summary>Unmaps a mapped view of a file from the calling process's address space.</summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <param name="lpBaseAddress">The base address.</param>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetDiskFreeSpace(System.String,System.UInt32@,System.UInt32@,System.UInt32@,System.UInt32@)">
      <summary>
              Retrieves information about the specified disk, including the amount of free space on the disk.
            </summary>
      <remarks>
        <para>Symbolic link behavior: If the path points to a symbolic link, the operation is performed on the target.</para>
        <para>If this parameter is a UNC name, it must include a trailing backslash (for example, "\\MyServer\MyShare\").</para>
        <para>Furthermore, a drive specification must have a trailing backslash (for example, "C:\").</para>
        <para>The calling application must have FILE_LIST_DIRECTORY access rights for this directory.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpRootPathName">Full pathname of the root file.</param>
      <param name="lpSectorsPerCluster">[out] The sectors per cluster.</param>
      <param name="lpBytesPerSector">[out] The bytes per sector.</param>
      <param name="lpNumberOfFreeClusters">[out] Number of free clusters.</param>
      <param name="lpTotalNumberOfClusters">[out] The total number of clusters.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetDiskFreeSpaceEx(System.String,System.UInt64@,System.UInt64@,System.UInt64@)">
      <summary>
              Retrieves information about the amount of space that is available on a disk volume, which is the total amount of space,
              <para>the total amount of free space, and the total amount of free space available to the user that is associated with the calling
              thread.</para></summary>
      <remarks>
        <para>Symbolic link behavior: If the path points to a symbolic link, the operation is performed on the target.</para>
        <para>The GetDiskFreeSpaceEx function returns zero (0) for lpTotalNumberOfFreeBytes and lpFreeBytesAvailable
              for all CD requests unless the disk is an unwritten CD in a CD-RW drive.</para>
        <para>If this parameter is a UNC name, it must include a trailing backslash, for example, "\\MyServer\MyShare\".</para>
        <para>This parameter does not have to specify the root directory on a disk.</para>
        <para>The function accepts any directory on a disk.</para>
        <para>The calling application must have FILE_LIST_DIRECTORY access rights for this directory.</para>
        <para>Minimum supported client: Windows XP [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps]</para>
      </remarks>
      <param name="lpDirectoryName">Pathname of the directory.</param>
      <param name="lpFreeBytesAvailable">[out] The free bytes available.</param>
      <param name="lpTotalNumberOfBytes">[out] The total number of in bytes.</param>
      <param name="lpTotalNumberOfFreeBytes">[out] The total number of free in bytes.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero (0). To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateDirectory(System.String,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes)">
      <summary>
              Creates a new directory.
              <para>If the underlying file system supports security on files and directories,</para><para>the function applies a specified security descriptor to the new directory.</para></summary>
      <remarks>
        <para>Some file systems, such as the NTFS file system, support compression or encryption for individual files and
              directories.</para>
        <para>On volumes formatted for such a file system, a new directory inherits the compression and encryption attributes of its parent
              directory.</para>
        <para>An application can obtain a handle to a directory by calling <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFile(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr)" /> with the FILE_FLAG_BACKUP_SEMANTICS
              flag set.</para>
        <para>Minimum supported client: Windows XP [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps]</para>
      </remarks>
      <param name="lpPathName">Full pathname of the file.</param>
      <param name="lpSecurityAttributes">The security attributes.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateDirectoryEx(System.String,System.String,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes)">
      <summary>
              Creates a new directory with the attributes of a specified template directory.
              <para>If the underlying file system supports security on files and directories,</para><para>the function applies a specified security descriptor to the new directory.</para><para>The new directory retains the other attributes of the specified template directory.</para></summary>
      <remarks>
        <para>The CreateDirectoryEx function allows you to create directories that inherit stream information from other directories.</para>
        <para>This function is useful, for example, when you are using Macintosh directories, which have a resource stream</para>
        <para>that is needed to properly identify directory contents as an attribute.</para>
        <para>Some file systems, such as the NTFS file system, support compression or encryption for individual files and
              directories.</para>
        <para>On volumes formatted for such a file system, a new directory inherits the compression and encryption attributes of its parent
              directory.</para>
        <para>You can obtain a handle to a directory by calling the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFile(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr)" /> function with the FILE_FLAG_BACKUP_SEMANTICS
              flag set.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpTemplateDirectory">Pathname of the template directory.</param>
      <param name="lpPathName">Full pathname of the file.</param>
      <param name="lpSecurityAttributes">The security attributes.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero (0). To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateDirectoryTransacted(System.String,System.String,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Creates a new directory as a transacted operation, with the attributes of a specified template directory.
              <para>If the underlying file system supports security on files and directories,</para><para>the function applies a specified security descriptor to the new directory.</para><para>The new directory retains the other attributes of the specified template directory.</para></summary>
      <remarks>
        <para>The CreateDirectoryTransacted function allows you to create directories that inherit stream information from other
              directories.</para>
        <para>This function is useful, for example, when you are using Macintosh directories, which have a resource stream</para>
        <para>that is needed to properly identify directory contents as an attribute.</para>
        <para>Some file systems, such as the NTFS file system, support compression or encryption for individual files and
              directories.</para>
        <para>On volumes formatted for such a file system, a new directory inherits the compression and encryption attributes of its parent
              directory.</para>
        <para>You can obtain a handle to a directory by calling the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFileTransacted(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr,System.Runtime.InteropServices.SafeHandle,System.IntPtr,System.IntPtr)" /> function with the
              FILE_FLAG_BACKUP_SEMANTICS flag set.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpTemplateDirectory">Pathname of the template directory.</param>
      <param name="lpNewDirectory">Pathname of the new directory.</param>
      <param name="lpSecurityAttributes">The security attributes.</param>
      <param name="hTransaction">The transaction.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero (0). To get extended error information, call GetLastError.</para>
        <para>This function fails with ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION if you try to create a</para>
        <para>child directory with a parent directory that has encryption disabled.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.RemoveDirectory(System.String)">
      <summary>
              Deletes an existing empty directory.
            </summary>
      <remarks>
        <para>The RemoveDirectory function marks a directory for deletion on close.</para>
        <para>Therefore, the directory is not removed until the last handle to the directory is closed.</para>
        <para>RemoveDirectory removes a directory junction, even if the contents of the target are not empty;</para>
        <para>the function removes directory junctions regardless of the state of the target object.</para>
        <para>Minimum supported client: Windows XP [desktop apps | Windows Store apps]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps | Windows Store apps]</para>
      </remarks>
      <param name="lpPathName">Full pathname of the file.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.RemoveDirectoryTransacted(System.String,System.Runtime.InteropServices.SafeHandle)">
      <summary>
              Deletes an existing empty directory as a transacted operation.
            </summary>
      <remarks>
        <para>The RemoveDirectoryTransacted function marks a directory for deletion on close.</para>
        <para>Therefore, the directory is not removed until the last handle to the directory is closed.</para>
        <para>RemoveDirectory removes a directory junction, even if the contents of the target are not empty;</para>
        <para>the function removes directory junctions regardless of the state of the target object.</para>
        <para>Minimum supported client: Windows Vista [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2008 [desktop apps only]</para>
      </remarks>
      <param name="lpPathName">Full pathname of the file.</param>
      <param name="hTransaction">The transaction.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CM_Connect_Machine(System.String,Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle@)">
      <summary>The CM_Connect_Machine function creates a connection to a remote machine.</summary>
      <remarks>
        <para>Beginning in Windows 8 and Windows Server 2012 functionality to access remote machines has been removed.</para>
        <para>You cannot access remote machines when running on these versions of Windows.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="uncServerName">Name of the unc server.</param>
      <param name="phMachine">[out] The ph machine.</param>
      <returns>
        <para>If the operation succeeds, the function returns CR_SUCCESS.</para>
        <para>Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CM_Get_Device_ID_Ex(System.UInt32,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32,Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle)">
      <summary>
              The CM_Get_Device_ID_Ex function retrieves the device instance ID for a specified device instance on a local or a remote machine.
            </summary>
      <remarks>
        <para>Beginning in Windows 8 and Windows Server 2012 functionality to access remote machines has been removed.</para>
        <para>You cannot access remote machines when running on these versions of Windows.</para>
        <para> </para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="dnDevInst">The dn development instance.</param>
      <param name="buffer">The buffer.</param>
      <param name="bufferLen">Length of the buffer.</param>
      <param name="ulFlags">The ul flags.</param>
      <param name="hMachine">The machine.</param>
      <returns>
        <para>If the operation succeeds, the function returns CR_SUCCESS.</para>
        <para>Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CM_Disconnect_Machine(System.IntPtr)">
      <summary>
              The CM_Disconnect_Machine function removes a connection to a remote machine.
            </summary>
      <remarks>
        <para>Beginning in Windows 8 and Windows Server 2012 functionality to access remote machines has been removed.</para>
        <para>You cannot access remote machines when running on these versions of Windows.</para>
        <para>SetLastError is set to <see langword="false" />.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="hMachine">The machine.</param>
      <returns>
        <para>If the operation succeeds, the function returns CR_SUCCESS.</para>
        <para>Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.CM_Get_Parent_Ex(System.UInt32@,System.UInt32,System.UInt32,Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle)">
      <summary>
              The CM_Get_Parent_Ex function obtains a device instance handle to the parent node of a specified device node (devnode) in a local
              or a remote machine's device tree.
            </summary>
      <remarks>
        <para>Beginning in Windows 8 and Windows Server 2012 functionality to access remote machines has been removed.</para>
        <para>You cannot access remote machines when running on these versions of Windows.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="pdnDevInst">[out] The pdn development instance.</param>
      <param name="dnDevInst">The dn development instance.</param>
      <param name="ulFlags">The ul flags.</param>
      <param name="hMachine">The machine.</param>
      <returns>
        <para>If the operation succeeds, the function returns CR_SUCCESS.</para>
        <para>Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DeviceIoControl(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.IntPtr,System.UInt32,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.IntPtr)">
      <summary>
              Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.
            </summary>
      <remarks>
        <para>To retrieve a handle to the device, you must call the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFile(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr)" /> function with either the name of a device or
              the name of the driver associated with a device.</para>
        <para>To specify a device name, use the following format: <c>\\.\DeviceName</c></para>
        <para>Minimum supported client: Windows XP</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
      <param name="hDevice">The device.</param>
      <param name="dwIoControlCode">The i/o control code.</param>
      <param name="lpInBuffer">Buffer for in data.</param>
      <param name="nInBufferSize">Size of the in buffer.</param>
      <param name="lpOutBuffer">Buffer for out data.</param>
      <param name="nOutBufferSize">Size of the out buffer.</param>
      <param name="lpBytesReturned">[out] The bytes returned.</param>
      <param name="lpOverlapped">The overlapped.</param>
      <returns>
        <para>If the operation completes successfully, the return value is nonzero.</para>
        <para>If the operation fails or is pending, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DeviceIoControl(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.Object,System.UInt32,System.Object,System.UInt32,System.UInt32@,System.IntPtr)">
      <summary>
              Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.
            </summary>
      <remarks>
        <para>To retrieve a handle to the device, you must call the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.CreateFile(System.String,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes,System.IO.FileMode,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.IntPtr)" /> function with either the name of a device or
              the name of the driver associated with a device.</para>
        <para>To specify a device name, use the following format: <c>\\.\DeviceName</c></para>
        <para>Minimum supported client: Windows XP</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
      <param name="hDevice">The device.</param>
      <param name="dwIoControlCode">The i/o control code.</param>
      <param name="lpInBuffer">Buffer for in data.</param>
      <param name="nInBufferSize">Size of the in buffer.</param>
      <param name="lpOutBuffer">Buffer for out data.</param>
      <param name="nOutBufferSize">Size of the out buffer.</param>
      <param name="lpBytesReturned">[out] The bytes returned.</param>
      <param name="lpOverlapped">The overlapped.</param>
      <returns>
        <para>If the operation completes successfully, the return value is nonzero.</para>
        <para>If the operation fails or is pending, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiDestroyDeviceInfoList(System.IntPtr)">
      <summary>
              The SetupDiDestroyDeviceInfoList function deletes a device information set and frees all associated memory.
            </summary>
      <remarks>
        <para>SetLastError is set to <see langword="false" />.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="hDevInfo">Information describing the development.</param>
      <returns>
        <para>The function returns TRUE if it is successful.</para>
        <para>Otherwise, it returns FALSE and the logged error can be retrieved with a call to GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiEnumDeviceInterfaces(System.Runtime.InteropServices.SafeHandle,System.IntPtr,System.Guid@,System.UInt32,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData@)">
      <summary>
              The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set.
            </summary>
      <remarks>
        <para>Repeated calls to this function return an <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData" /> structure for a different device
              interface.</para>
        <para>This function can be called repeatedly to get information about interfaces in a device information set that are
              associated</para>
        <para>with a particular device information element or that are associated with all device information elements.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="hDevInfo">Information describing the development.</param>
      <param name="devInfo">Information describing the development.</param>
      <param name="interfaceClassGuid">[in,out] Unique identifier for the interface class.</param>
      <param name="memberIndex">Zero-based index of the member.</param>
      <param name="deviceInterfaceData">[in,out] Information describing the device interface.</param>
      <returns>
        <para>SetupDiEnumDeviceInterfaces returns TRUE if the function completed without error.</para>
        <para>If the function completed with an error, FALSE is returned and the error code for the failure can be retrieved by calling
              GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsEx(System.Guid@,System.IntPtr,System.IntPtr,Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetClassDevsExFlags,System.IntPtr,System.String,System.IntPtr)">
      <summary>
              The SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements
              for a local or a remote computer.
            </summary>
      <remarks>
        <para>The caller of SetupDiGetClassDevsEx must delete the returned device information set when it is no longer needed by calling
              <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiDestroyDeviceInfoList(System.IntPtr)" />.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="classGuid">[in,out] Unique identifier for the class.</param>
      <param name="enumerator">The enumerator.</param>
      <param name="hwndParent">The parent.</param>
      <param name="devsExFlags">The devs ex flags.</param>
      <param name="deviceInfoSet">Set the device information belongs to.</param>
      <param name="machineName">Name of the machine.</param>
      <param name="reserved">The reserved.</param>
      <returns>
        <para>If the operation succeeds, SetupDiGetClassDevsEx returns a handle to a device information set that contains all installed
              devices that matched the supplied parameters.</para>
        <para>If the operation fails, the function returns INVALID_HANDLE_VALUE. To get extended error information, call
              GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceInterfaceDetail(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData@,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceDetailData@,System.UInt32,System.IntPtr,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData@)">
      <summary>
              The SetupDiGetDeviceInterfaceDetail function returns details about a device interface.
            </summary>
      <remarks>
        <para>The interface detail returned by this function consists of a device path that can be passed to Win32 functions such as
              CreateFile.</para>
        <para>Do not attempt to parse the device path symbolic name. The device path can be reused across system starts.</para>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="hDevInfo">Information describing the development.</param>
      <param name="deviceInterfaceData">[in,out] Information describing the device interface.</param>
      <param name="deviceInterfaceDetailData">[in,out] Information describing the device interface detail.</param>
      <param name="deviceInterfaceDetailDataSize">Size of the device interface detail data.</param>
      <param name="requiredSize">Size of the required.</param>
      <param name="deviceInfoData">[in,out] Information describing the device information.</param>
      <returns>
        <para>SetupDiGetDeviceInterfaceDetail returns TRUE if the function completed without error.</para>
        <para>If the function completed with an error, FALSE is returned and the error code for the failure can be retrieved by calling
              GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryProperty(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData@,Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum,System.UInt32@,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.IntPtr)">
      <summary>
              The SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property.
            </summary>
      <remarks>
        <para>Available in Microsoft Windows 2000 and later versions of Windows.</para>
      </remarks>
      <param name="deviceInfoSet">Set the device information belongs to.</param>
      <param name="deviceInfoData">[in,out] Information describing the device information.</param>
      <param name="property">The property.</param>
      <param name="propertyRegDataType">[out] Type of the property register data.</param>
      <param name="propertyBuffer">Buffer for property data.</param>
      <param name="propertyBufferSize">Size of the property buffer.</param>
      <param name="requiredSize">Size of the required.</param>
      <returns>
        <para>SetupDiGetDeviceRegistryProperty returns TRUE if the call was successful.</para>
        <para>Otherwise, it returns FALSE and the logged error can be retrieved by making a call to GetLastError.</para>
        <para>SetupDiGetDeviceRegistryProperty returns the ERROR_INVALID_DATA error code if the requested property does not exist for a
              device or if the property data is not valid.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupRead(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.Boolean,System.Boolean,System.IntPtr@)">
      <summary>
              The BackupRead function can be used to back up a file or directory, including the security information.
              <para>The function reads data associated with a specified file or directory into a buffer,</para><para>which can then be written to the backup medium using the WriteFile function.</para></summary>
      <remarks>
        <para>This function is not intended for use in backing up files encrypted under the Encrypted File System.</para>
        <para>Use ReadEncryptedFileRaw for that purpose.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="hFile">The file.</param>
      <param name="lpBuffer">The buffer.</param>
      <param name="nNumberOfBytesToRead">Number of bytes to reads.</param>
      <param name="lpNumberOfBytesRead">[out] Number of bytes reads.</param>
      <param name="bAbort">true to abort.</param>
      <param name="bProcessSecurity">true to process security.</param>
      <param name="lpContext">[out] The context.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero, indicating that an I/O error occurred. To get extended error information,
              call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupSeek(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,System.UInt32,System.UInt32@,System.UInt32@,System.IntPtr@)">
      <summary>
              The BackupSeek function seeks forward in a data stream initially accessed by using the <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupRead(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.Boolean,System.Boolean,System.IntPtr@)" /> or
              <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupWrite(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.Boolean,System.Boolean,System.IntPtr@)" /> function.
              <para>The function reads data associated with a specified file or directory into a buffer, which can then be written to the backup
              medium using the WriteFile function.</para></summary>
      <remarks>
        <para>Applications use the BackupSeek function to skip portions of a data stream that cause errors.</para>
        <para>This function does not seek across stream headers. For example, this function cannot be used to skip the stream name.</para>
        <para>If an application attempts to seek past the end of a substream, the function fails, the lpdwLowByteSeeked and
              lpdwHighByteSeeked parameters</para>
        <para>indicate the actual number of bytes the function seeks, and the file position is placed at the start of the next stream
              header.</para>
        <para> </para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="hFile">The file.</param>
      <param name="dwLowBytesToSeek">The low bytes to seek.</param>
      <param name="dwHighBytesToSeek">The high bytes to seek.</param>
      <param name="lpdwLowBytesSeeked">[out] The lpdw low bytes seeked.</param>
      <param name="lpdwHighBytesSeeked">[out] The lpdw high bytes seeked.</param>
      <param name="lpContext">[out] The context.</param>
      <returns>
        <para>If the function could seek the requested amount, the function returns a nonzero value.</para>
        <para>If the function could not seek the requested amount, the function returns zero. To get extended error information, call
              GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupWrite(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.Boolean,System.Boolean,System.IntPtr@)">
      <summary>
              The BackupWrite function can be used to restore a file or directory that was backed up using <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.BackupRead(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.UInt32@,System.Boolean,System.Boolean,System.IntPtr@)" />.
              <para>Use the ReadFile function to get a stream of data from the backup medium, then use BackupWrite to write the data to the
              specified file or directory.</para><para> </para></summary>
      <remarks>
        <para>This function is not intended for use in restoring files encrypted under the Encrypted File System. Use WriteEncryptedFileRaw
              for that purpose.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="hFile">The file.</param>
      <param name="lpBuffer">The buffer.</param>
      <param name="nNumberOfBytesToWrite">Number of bytes to writes.</param>
      <param name="lpNumberOfBytesWritten">[out] Number of bytes writtens.</param>
      <param name="bAbort">true to abort.</param>
      <param name="bProcessSecurity">true to process security.</param>
      <param name="lpContext">[out] The context.</param>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero, indicating that an I/O error occurred. To get extended error information,
              call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.IsValidHandle(System.Runtime.InteropServices.SafeHandle,System.Boolean)">
      <summary>Check is the current handle is not null, not closed and not invalid.</summary>
      <param name="handle">The current handle to check.</param>
      <param name="throwException">
        <see langword="true" /> will throw an <exception cref="P:Alphaleonis.Win32.Resources.HandleInvalid" />, <see langword="false" /> will not raise this exception..</param>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
      <exception cref="T:System.ArgumentException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.IsValidHandle(System.Runtime.InteropServices.SafeHandle,System.Int32,System.Boolean)">
      <summary>Check is the current handle is not null, not closed and not invalid.</summary>
      <param name="handle">The current handle to check.</param>
      <param name="lastError">The result of Marshal.GetLastWin32Error()</param>
      <param name="throwException">
        <see langword="true" /> will throw an <exception cref="P:Alphaleonis.Win32.Resources.HandleInvalidWin32Error" />, <see langword="false" /> will not raise this exception..</param>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
      <exception cref="T:System.ArgumentException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetErrorMode(Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode)">
      <summary>
              Controls whether the system will handle the specified types of serious errors or whether the process will handle them.
            </summary>
      <remarks>
              Because the error mode is set for the entire process, you must ensure that multi-threaded applications do not set different error-
              mode attributes. Doing so can lead to inconsistent error handling.
            </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <param name="uMode">The mode.</param>
      <returns>The return value is the previous state of the error-mode bit attributes.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetThreadErrorMode(Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode,Alphaleonis.Win32.Filesystem.NativeMethods.ErrorMode@)">
      <summary>
              Controls whether the system will handle the specified types of serious errors or whether the calling thread will handle them.
            </summary>
      <remarks>
              Because the error mode is set for the entire process, you must ensure that multi-threaded applications do not set different error-
              mode attributes. Doing so can lead to inconsistent error handling.
            </remarks>
      <remarks>Minimum supported client: Windows 7 [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2008 R2 [desktop apps only].</remarks>
      <param name="dwNewMode">The new mode.</param>
      <param name="lpOldMode">[out] The old mode.</param>
      <returns>The return value is the previous state of the error-mode bit attributes.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFullPathName(System.String,System.UInt32,System.Text.StringBuilder,System.IntPtr)">
      <summary>Retrieves the full path and file name of the specified file or directory.</summary>
      <returns>If the function fails for any other reason, the return value is zero. To get extended error information, call GetLastError.</returns>
      <remarks>The GetFullPathName function is not recommended for multithreaded applications or shared library code.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetFullPathNameTransacted(System.String,System.UInt32,System.Text.StringBuilder,System.IntPtr,System.Runtime.InteropServices.SafeHandle)">
      <summary>Retrieves the full path and file name of the specified file or directory as a transacted operation.</summary>
      <returns>If the function fails for any other reason, the return value is zero. To get extended error information, call GetLastError.</returns>
      <remarks>Minimum supported client: Windows Vista [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetLongPathName(System.String,System.Text.StringBuilder,System.UInt32)">
      <summary>Converts the specified path to its long form.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetLongPathNameTransacted(System.String,System.Text.StringBuilder,System.UInt32,System.Runtime.InteropServices.SafeHandle)">
      <summary>Converts the specified path to its long form as a transacted operation.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows Vista [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetShortPathName(System.String,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves the short path form of the specified path.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP</remarks>
      <remarks>Minimum supported server: Windows Server 2003</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.PathCreateFromUrl(System.String,System.Text.StringBuilder,System.UInt32@,System.UInt32)">
      <summary>Converts a file URL to a Microsoft MS-DOS path.</summary>
      <returns>Type: HRESULT
            If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.PathCreateFromUrlAlloc(System.String,System.Text.StringBuilder@,System.UInt32)">
      <summary>Creates a path from a file URL.</summary>
      <returns>Type: HRESULT
            If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
      <remarks>Minimum supported client: Windows Vista [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.UrlCreateFromPath(System.String,System.Text.StringBuilder,System.UInt32@,System.UInt32)">
      <summary>Converts a Microsoft MS-DOS path to a canonicalized URL.</summary>
      <returns>Type: HRESULT
            Returns S_FALSE if pszPath is already in URL format. In this case, pszPath will simply be copied to pszUrl.
            Otherwise, it returns S_OK if successful or a standard COM error value if not.
            </returns>
      <remarks>
            UrlCreateFromPath does not support extended paths. These are paths that include the extended-length path prefix "\\?\".
            </remarks>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.UrlIs(System.String,Alphaleonis.Win32.Filesystem.Shell32.UrlType)">
      <summary>Tests whether a URL is a specified type.</summary>
      <returns>
            Type: BOOL
            For all but one of the URL types, UrlIs returns <see langword="true" /> if the URL is the specified type, <see langword="true" /> otherwise.
            If UrlIs is set to <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsAppliable" />, UrlIs will attempt to determine the URL scheme.
            If the function is able to determine a scheme, it returns <see langword="true" />, or <see langword="false" />.
            </returns>
      <remarks>Minimum supported client: Windows 2000 Professional, Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DefineDosDevice(Alphaleonis.Win32.Filesystem.DosDeviceAttributes,System.String,System.String)">
      <summary>Defines, redefines, or deletes MS-DOS device names.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.DeleteVolumeMountPoint(System.String)">
      <summary>Deletes a drive letter or mounted folder.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstVolume(System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves the name of a volume on a computer. FindFirstVolume is used to begin scanning the volumes of a computer.</summary>
      <returns>
            If the function succeeds, the return value is a search handle used in a subsequent call to the FindNextVolume and FindVolumeClose functions.
            If the function fails to find any volumes, the return value is the INVALID_HANDLE_VALUE error code. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindFirstVolumeMountPoint(System.String,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves the name of a mounted folder on the specified volume. FindFirstVolumeMountPoint is used to begin scanning the mounted folders on a volume.</summary>
      <returns>
            If the function succeeds, the return value is a search handle used in a subsequent call to the FindNextVolumeMountPoint and FindVolumeMountPointClose functions.
            If the function fails to find a mounted folder on the volume, the return value is the INVALID_HANDLE_VALUE error code.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindNextVolume(Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle,System.Text.StringBuilder,System.UInt32)">
      <summary>Continues a volume search started by a call to the FindFirstVolume function. FindNextVolume finds one volume per call.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindNextVolumeMountPoint(Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle,System.Text.StringBuilder,System.UInt32)">
      <summary>Continues a mounted folder search started by a call to the FindFirstVolumeMountPoint function. FindNextVolumeMountPoint finds one mounted folder per call.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError. If no more mounted folders can be found, the GetLastError function returns the ERROR_NO_MORE_FILES error code.
            In that case, close the search with the FindVolumeMountPointClose function.
            </returns>
      <remarks>Minimum supported client: Windows XP</remarks>
      <remarks>Minimum supported server: Windows Server 2003</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindVolumeClose(System.IntPtr)">
      <summary>Closes the specified volume search handle.</summary>
      <remarks>
        <para>SetLastError is set to <see langword="false" />.</para>
              Minimum supported client: Windows XP [desktop apps only]. Minimum supported server: Windows Server 2003 [desktop apps only].
            </remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.FindVolumeMountPointClose(System.IntPtr)">
      <summary>Closes the specified mounted folder search handle.</summary>
      <remarks>
        <para>SetLastError is set to <see langword="false" />.</para>
        <para>Minimum supported client: Windows XP</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetDriveType(System.String)">
      <summary>
              Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.
              <para>To determine whether a drive is a USB-type drive, call <see cref="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryProperty(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData@,Alphaleonis.Win32.Filesystem.NativeMethods.SetupDiGetDeviceRegistryPropertyEnum,System.UInt32@,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.UInt32,System.IntPtr)" /> and specify the
              SPDRP_REMOVAL_POLICY property.</para></summary>
      <remarks>
        <para>SMB does not support volume management functions.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <param name="lpRootPathName">Full pathname of the root file.</param>
      <returns>
        <para>The return value specifies the type of drive, see <see cref="T:System.IO.DriveType" />.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetLogicalDrives">
      <summary>
              Retrieves a bitmask representing the currently available disk drives.
            </summary>
      <remarks>
        <para>SMB does not support volume management functions.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is a bitmask representing the currently available disk drives.</para>
        <para>Bit position 0 (the least-significant bit) is drive A, bit position 1 is drive B, bit position 2 is drive C, and so on.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetVolumeInformation(System.String,System.Text.StringBuilder,System.UInt32,System.UInt32@,System.UInt32@,Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes@,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves information about the file system and volume associated with the specified root directory.</summary>
      <returns>
            If all the requested information is retrieved, the return value is nonzero.
            If not all the requested information is retrieved, the return value is zero.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
      <remarks>"lpRootPathName" must end with a trailing backslash.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetVolumeInformationByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Text.StringBuilder,System.UInt32,System.UInt32@,System.UInt32@,Alphaleonis.Win32.Filesystem.NativeMethods.VolumeInfoAttributes@,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves information about the file system and volume associated with the specified file.</summary>
      <returns>
            If all the requested information is retrieved, the return value is nonzero.
            If not all the requested information is retrieved, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>To retrieve the current compression state of a file or directory, use FSCTL_GET_COMPRESSION.</remarks>
      <remarks>SMB does not support volume management functions.</remarks>
      <remarks>Minimum supported client: Windows Vista [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetVolumeNameForVolumeMountPoint(System.String,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves a volume GUID path for the volume that is associated with the specified volume mount point (drive letter, volume GUID path, or mounted folder).</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Use GetVolumeNameForVolumeMountPoint to obtain a volume GUID path for use with functions such as SetVolumeMountPoint and FindFirstVolumeMountPoint that require a volume GUID path as an input parameter.</remarks>
      <remarks>SMB does not support volume management functions.</remarks>
      <remarks>Mount points aren't supported by ReFS volumes.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetVolumePathName(System.String,System.Text.StringBuilder,System.UInt32)">
      <summary>Retrieves the volume mount point where the specified path is mounted.</summary>
      <remarks>
        <para>If a specified path is passed, GetVolumePathName returns the path to the volume mount point, which means that it returns the
              root of the volume where the end point of the specified path is located.</para>
        <para>For example, assume that you have volume D mounted at C:\Mnt\Ddrive and volume E mounted at "C:\Mnt\Ddrive\Mnt\Edrive". Also
              assume that you have a file with the path "E:\Dir\Subdir\MyFile".</para>
        <para>If you pass "C:\Mnt\Ddrive\Mnt\Edrive\Dir\Subdir\MyFile" to GetVolumePathName, it returns the path "C:\Mnt\Ddrive\Mnt\Edrive\".</para>
        <para>If a network share is specified, GetVolumePathName returns the shortest path for which GetDriveType returns DRIVE_REMOTE,
              which means that the path is validated as a remote drive that exists, which the current user can access.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
      <returns>
        <para>If the function succeeds, the return value is nonzero.</para>
        <para>If the function fails, the return value is zero. To get extended error information, call GetLastError.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.GetVolumePathNamesForVolumeName(System.String,System.Char[],System.UInt32,System.UInt32@)">
      <summary>Retrieves a list of drive letters and mounted folder paths for the specified volume.</summary>
      <remarks>Minimum supported client: Windows XP.</remarks>
      <remarks>Minimum supported server: Windows Server 2003.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetVolumeLabel(System.String,System.String)">
      <summary>Sets the label of a file system volume.</summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <remarks>"lpRootPathName" must end with a trailing backslash.</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.SetVolumeMountPoint(System.String,System.String)">
      <summary>Associates a volume with a drive letter or a directory on another volume.</summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error
              information, call GetLastError.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NativeMethods.QueryDosDevice(System.String,System.Char[],System.UInt32)">
      <summary>Retrieves information about MS-DOS device names.</summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only].</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only].</remarks>
      <returns>
              If the function succeeds, the return value is the number of TCHARs stored into the buffer pointed to by lpTargetPath. If the
              function fails, the return value is zero. To get extended error information, call GetLastError. If the buffer is too small, the
              function fails and the last error code is ERROR_INSUFFICIENT_BUFFER.
            </returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.DosDeviceAttributes">
      <summary>Defines the controllable aspects of the Volume.DefineDosDevice() method.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.None">
      <summary>DDD_EXACT_MATCH_ON_REMOVE
            <para>Default.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath">
      <summary>DDD_RAW_TARGET_PATH
            <para>Uses the targetPath string as is. Otherwise, it is converted from an MS-DOS path to a path.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RemoveDefinition">
      <summary>DDD_REMOVE_DEFINITION
            <para>Removes the specified definition for the specified device.</para><para>To determine which definition to remove, the function walks the list of mappings for the device, looking for a match of targetPath against a prefix of each mapping associated with this device.</para><para>The first mapping that matches is the one removed, and then the function returns.</para><para>If targetPath is null or a pointer to a null string, the function will remove the first mapping associated with the device and pop the most recent one pushed.If there is nothing left to pop, the device name will be removed.</para><para>If this value is not specified, the string pointed to by the targetPath parameter will become the new mapping for this device.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.ExactMatchOnRemove">
      <summary>DDD_EXACT_MATCH_ON_REMOVE
            <para>If this value is specified along with <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RemoveDefinition" />, the function will use an exact match to determine which mapping to remove.</para><para>Use this value to ensure that you do not delete something that you did not define.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.NoBroadcastSystem">
      <summary>DDD_NO_BROADCAST_SYSTEM
            <para>Do not broadcast the WM_SETTINGCHANGE message.</para><para>By default, this message is broadcast to notify the shell and applications of the change.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FinalPathFormats">
      <summary>Determines the format to convert a path to using <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetFinalPathNameByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle)" /></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FinalPathFormats.None">
      <summary>(FileNameNormalized / VolumeNameDos) Return the normalized drive name. This is the default.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FinalPathFormats.VolumeNameGuid">
      <summary>Return the path with a volume GUID path instead of the drive name.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FinalPathFormats.VolumeNameNT">
      <summary>Return the path with the volume device path.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FinalPathFormats.VolumeNameNone">
      <summary>Return the path with no drive information.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FinalPathFormats.FileNameOpened">
      <summary>Return the opened file name (not normalized).</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.ReparsePointTag">
      <summary>Enumeration specifying the different reparse point tags.</summary>
      <remarks>
        <para>Reparse tags, with the exception of IO_REPARSE_TAG_SYMLINK, are processed on the server and are not processed by a client after transmission over the wire.</para>
        <para>Clients should treat associated reparse data as opaque data.</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.None">
      <summary>The entry is not a reparse point.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.AppXStream">
      <summary>IO_REPARSE_APPXSTREAM</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Csv">
      <summary>IO_REPARSE_TAG_CSV</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.DriverExtender">
      <summary>IO_REPARSE_TAG_DRIVER_EXTENDER
            <para>Used by Home server drive extender.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Dedup">
      <summary>IO_REPARSE_TAG_DEDUP</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Dfs">
      <summary>IO_REPARSE_TAG_DFS
            <para>Used by the DFS filter.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Dfsr">
      <summary>IO_REPARSE_TAG_DFSR
            <para>Used by the DFS filter.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.FilterManager">
      <summary>IO_REPARSE_TAG_FILTER_MANAGER
            <para>Used by filter manager test harness.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Hsm">
      <summary>IO_REPARSE_TAG_HSM
            <para>(Obsolete) Used by legacy Hierarchical Storage Manager Product.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Hsm2">
      <summary>IO_REPARSE_TAG_HSM2
            <para>(Obsolete) Used by legacy Hierarchical Storage Manager Product.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Nfs">
      <summary>IO_REPARSE_TAG_NFS
            <para>NFS symlinks, Windows 8 / SMB3 and later.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.MountPoint">
      <summary>IO_REPARSE_TAG_MOUNT_POINT
            <para>Used for mount point support.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Sis">
      <summary>IO_REPARSE_TAG_SIS
            <para>Used by single-instance storage (SIS) filter driver.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.SymLink">
      <summary>IO_REPARSE_TAG_SYMLINK
            <para>Used for symbolic link support.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ReparsePointTag.Wim">
      <summary>IO_REPARSE_TAG_WIM</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.StreamAttributes">
      <summary>WIN32_STREAM_ID Attributes of data to facilitate cross-operating system transfer.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.StreamAttributes.None">
      <summary>STREAM_NORMAL_ATTRIBUTE
            <para>This backup stream has no special attributes.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.StreamAttributes.ModifiedWhenRead">
      <summary>STREAM_MODIFIED_WHEN_READ
            <para>Attribute set if the stream contains data that is modified when read.</para><para>Allows the backup application to know that verification of data will fail.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.StreamAttributes.ContainsSecurity">
      <summary>STREAM_CONTAINS_SECURITY
            <para>The backup stream contains security information.</para><para>This attribute applies only to backup stream of type <see cref="F:Alphaleonis.Win32.Filesystem.BackupStreamType.SecurityData" />.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.StreamAttributes.ContainsProperties">
      <summary>Reserved.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.StreamAttributes.Sparse">
      <summary>STREAM_SPARSE_ATTRIBUTE
            <para>The backup stream is part of a sparse file stream.</para><para>This attribute applies only to backup stream of type <see cref="F:Alphaleonis.Win32.Filesystem.BackupStreamType.Data" />, <see cref="F:Alphaleonis.Win32.Filesystem.BackupStreamType.AlternateData" />, and <see cref="F:Alphaleonis.Win32.Filesystem.BackupStreamType.SparseBlock" />.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.BackupStreamType">
      <summary>The type of the data contained in the backup stream.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.None">
      <summary>This indicates an error.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.Data">
      <summary>BACKUP_DATA
            <para>Standard data. This corresponds to the NTFS $DATA stream type on the default (unnamed) data stream.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.ExtendedAttributesData">
      <summary>BACKUP_EA_DATA
            <para>Extended attribute data. This corresponds to the NTFS $EA stream type.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.SecurityData">
      <summary>BACKUP_SECURITY_DATA
            <para>Security descriptor data.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.AlternateData">
      <summary>BACKUP_ALTERNATE_DATA
            <para>Alternative data streams. This corresponds to the NTFS $DATA stream type on a named data stream.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.Link">
      <summary>BACKUP_LINK
            <para>Hard link information. This corresponds to the NTFS $FILE_NAME stream type.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.PropertyData">
      <summary>BACKUP_PROPERTY_DATA
            <para>Property data.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.ObjectId">
      <summary>BACKUP_OBJECT_ID
            <para>Objects identifiers. This corresponds to the NTFS $OBJECT_ID stream type.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.ReparseData">
      <summary>BACKUP_REPARSE_DATA
            <para>Reparse points. This corresponds to the NTFS $REPARSE_POINT stream type.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.SparseBlock">
      <summary>BACKUP_SPARSE_BLOCK
            <para>Sparse file. This corresponds to the NTFS $DATA stream type for a sparse file.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.BackupStreamType.TxfsData">
      <summary>BACKUP_TXFS_DATA
            <para>Transactional NTFS (TxF) data stream.</para></summary>
      <remarks>Windows Server 2003 and Windows XP:  This value is not supported.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.CopyOptions">
      <summary>Flags that specify how a file or directory is to be copied.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.None">
      <summary>No CopyOptions used, this allows overwriting the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists">
      <summary>COPY_FILE_FAIL_IF_EXISTS
            <para>The copy operation fails immediately if the target file already exists.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.Restartable">
      <summary>COPY_FILE_RESTARTABLE
            <para>
            Progress of the copy is tracked in the target file in case the copy fails. The failed copy can be restarted at a later time by specifying the same values
            forexisting file name and new file name as those used in the call that failed. This can significantly slow down the copy operation as the new file may be
            flushed multiple times during the copy operation.
            </para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.OpenSourceForWrite">
      <summary>COPY_FILE_OPEN_SOURCE_FOR_WRITE
            <para>The file is copied and the original file is opened for write access.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.AllowDecryptedDestination">
      <summary>COPY_FILE_ALLOW_DECRYPTED_DESTINATION
            <para>An attempt to copy an encrypted file will succeed even if the destination copy cannot be encrypted.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.CopySymbolicLink">
      <summary>COPY_FILE_COPY_SYMLINK
            <para>If the source file is a symbolic link, the destination file is also a symbolic link pointing to the same file that the source symbolic link is pointing to.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering">
      <summary>COPY_FILE_NO_BUFFERING
            <para>The copy operation is performed using unbuffered I/O, bypassing system I/O cache resources. Recommended for very large file transfers.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressCallbackReason">
      <summary>Used by CopyFileXxx and MoveFileXxx. The reason that <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine" /> was called.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressCallbackReason.ChunkFinished">
      <summary>CALLBACK_CHUNK_FINISHED
            <para>Another part of the data file was copied.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.CopyMoveProgressCallbackReason.StreamSwitch">
      <summary>CALLBACK_STREAM_SWITCH
            <para>Another stream was created and is about to be copied. This is the callback reason given when the callback routine is first invoked.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Device">
      <summary>Provides static methods to retrieve device resource information from a local or remote host.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.EnumerateDevices(Alphaleonis.Win32.Filesystem.DeviceGuid)">
      <summary>Enumerates all available devices on the local.</summary>
      <param name="deviceGuid">One of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> devices.</param>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> instances of type <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> from the local host.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.EnumerateDevices(System.String,Alphaleonis.Win32.Filesystem.DeviceGuid)">
      <summary>Enumerates all available devices of type <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> on the local or remote host.</summary>
      <param name="hostName">The name of the local or remote host on which the device resides. <see langword="null" /> refers to the local host.</param>
      <param name="deviceGuid">One of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> devices.</param>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> instances of type <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> for the specified <paramref name="hostName" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.EnumerateDevicesInternal(System.Runtime.InteropServices.SafeHandle,System.String,Alphaleonis.Win32.Filesystem.DeviceGuid)">
      <summary>Enumerates all available devices on the local or remote host.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.GetLinkTargetInfoInternal(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>Unified method GetLinkTargetInfoInternal() to get information about the target of a mount point or symbolic link on an NTFS file system.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.ToggleCompressionInternal(System.Boolean,Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Unified method ToggleCompressionInternal() to set the NTFS compression state of a file or directory on a volume whose file system supports per-file and per-directory compression.</summary>
      <param name="isFolder">Specifies that <paramref name="path" /> is a file or directory.</param>
      <param name="transaction">The transaction.</param>
      <param name="path">A path that describes a folder or file to compress or decompress.</param>
      <param name="compress">
        <see langword="true" /> = compress, <see langword="false" /> = decompress</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.CreateDeviceInfoDataInstance">
      <summary>Builds a DeviceInfo Data structure.</summary>
      <returns>An initialized NativeMethods.SpDeviceInfoData instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.CreateDeviceInterfaceDataInstance">
      <summary>Builds a Device Interface Data structure.</summary>
      <returns>An initialized NativeMethods.SpDeviceInterfaceData instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.GetDeviceInterfaceDetailDataInstance(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInterfaceData,Alphaleonis.Win32.Filesystem.NativeMethods.SpDeviceInfoData)">
      <summary>Builds a Device Interface Detail Data structure.</summary>
      <returns>An initialized NativeMethods.SpDeviceInterfaceDetailData instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Device.InvokeIoControlUnknownSize``1(Microsoft.Win32.SafeHandles.SafeFileHandle,System.UInt32,``0,System.UInt32)">
      <summary>Repeatedly invokes InvokeIoControl with the specified input until enough memory has been allocated.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.BackupFileStream">
      <summary>The <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> provides access to data associated with a specific file or directory, including security information and alternative data streams, for backup and restore operations.</summary>
      <remarks>This class uses the <see href="http://msdn.microsoft.com/en-us/library/aa362509(VS.85).aspx">BackupRead</see>, 
            <see href="http://msdn.microsoft.com/en-us/library/aa362510(VS.85).aspx">BackupSeek</see> and 
            <see href="http://msdn.microsoft.com/en-us/library/aa362511(VS.85).aspx">BackupWrite</see> functions from the Win32 API to provide access to the file or directory.
            </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(System.String,System.IO.FileMode)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path and creation mode.</summary>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <remarks>The file will be opened for exclusive access for both reading and writing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode and access rights.</summary>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <remarks>The file will be opened for exclusive access.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission.</summary>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission, and additional file attributes.</summary>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
      <param name="attributes">A <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> constant that specifies additional file attributes.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.Security.AccessControl.FileSecurity)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission, additional file attributes, access control and audit security.</summary>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
      <param name="attributes">A <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> constant that specifies additional file attributes.</param>
      <param name="security">A <see cref="T:System.Security.AccessControl.FileSecurity" /> constant that determines the access control and audit security for the file. This parameter This parameter may be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path and creation mode.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <remarks>The file will be opened for exclusive access for both reading and writing.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode and access rights.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <remarks>The file will be opened for exclusive access.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission, and additional file attributes.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
      <param name="attributes">A <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> constant that specifies additional file attributes.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,Alphaleonis.Win32.Filesystem.ExtendedFileAttributes,System.Security.AccessControl.FileSecurity)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class with the specified path, creation mode, access rights and sharing permission, additional file attributes, access control and audit security.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">A relative or absolute path for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant that determines how to open or create the file.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that determines the access rights to use when creating access and audit rules for the file.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant that determines how the file will be shared by processes.</param>
      <param name="attributes">A <see cref="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes" /> constant that specifies additional file attributes.</param>
      <param name="security">A <see cref="T:System.Security.AccessControl.FileSecurity" /> constant that determines the access control and audit security for the file. This parameter This parameter may be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Security.AccessControl.FileSystemRights)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class for the specified file handle, with the specified read/write permission.</summary>
      <param name="handle">A file handle for the file that this <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object will encapsulate.</param>
      <param name="access">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> constant that gets the <see cref="P:Alphaleonis.Win32.Filesystem.BackupFileStream.CanRead" /> and <see cref="P:Alphaleonis.Win32.Filesystem.BackupFileStream.CanWrite" /> properties of the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Finalize">
      <summary>Releases unmanaged resources and performs other cleanup operations before the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> is reclaimed by garbage collection.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Dispose(System.Boolean)">
      <summary>
              Releases the unmanaged resources used by the <see cref="T:System.IO.Stream" /> and optionally releases the managed resources.
            </summary>
      <param name="disposing">
        <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Read(System.Byte[],System.Int32,System.Int32)">
      <summary>
               Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
             </summary>
      <remarks>This method will not backup the access-control list (ACL) data for the file or directory.</remarks>
      <param name="buffer">
               An array of bytes. When this method returns, the buffer contains the specified byte array with the values between
               <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the
               current source.
             </param>
      <param name="offset">
               The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream.
             </param>
      <param name="count">The maximum number of bytes to be read from the current stream.</param>
      <returns>
               The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not
               currently available, or zero (0) if the end of the stream has been reached.
             </returns>
      <exception cref="T:System.ArgumentException">
               The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length.
             </exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="offset" /> or <paramref name="count" /> is negative.
             </exception>
      <exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
      <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Read(System.Byte[],System.Int32,System.Int32,System.Boolean)">
      <summary>When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.</summary>
      <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values
            between <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the current source.</param>
      <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream.</param>
      <param name="count">The maximum number of bytes to be read from the current stream.</param>
      <param name="processSecurity">Indicates whether the function will backup the access-control list (ACL) data for the file or directory.</param>
      <returns>
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not
            currently available, or zero (0) if the end of the stream has been reached.
            </returns>
      <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
      <exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
      <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Write(System.Byte[],System.Int32,System.Int32)">
      <summary>Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.</summary>
      <overloads>
            Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            </overloads>
      <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream.</param>
      <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream.</param>
      <param name="count">The number of bytes to be written to the current stream.</param>
      <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
      <exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
      <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
      <remarks>This method will not process the access-control list (ACL) data for the file or directory.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Write(System.Byte[],System.Int32,System.Int32,System.Boolean)">
      <summary>When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.</summary>
      <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream.</param>
      <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream.</param>
      <param name="count">The number of bytes to be written to the current stream.</param>
      <param name="processSecurity">Specifies whether the function will restore the access-control list (ACL) data for the file or directory. 
            If this is <see langword="true" /> you need to specify <see cref="F:System.Security.AccessControl.FileSystemRights.TakeOwnership" /> and <see cref="F:System.Security.AccessControl.FileSystemRights.ChangePermissions" /> access when 
            opening the file or directory handle. If the handle does not have those access rights, the operating system denies 
            access to the ACL data, and ACL data restoration will not occur.</param>
      <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
      <exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
      <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Flush">
      <summary>Clears all buffers for this stream and causes any buffered data to be written to the underlying device.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Seek(System.Int64,System.IO.SeekOrigin)">
      <summary>When overridden in a derived class, sets the position within the current stream.</summary>
      <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter.</param>
      <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new position.</param>
      <returns>The new position within the current stream.</returns>
      <remarks>
        <para>
          <note>
            <para>This stream does not support seeking using this method, and calling this method will always throw <see cref="T:System.NotSupportedException" />. See <see cref="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Skip(System.Int64)" /> for an alternative way of seeking forward.</para>
          </note>
        </para>
      </remarks>
      <exception cref="T:System.NotSupportedException">The stream does not support seeking.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.SetLength(System.Int64)">
      <summary>When overridden in a derived class, sets the length of the current stream.</summary>
      <param name="value">The desired length of the current stream in bytes.</param>
      <remarks>This method is not supported by the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> class, and calling it will always generate a <see cref="T:System.NotSupportedException" />.</remarks>
      <exception cref="T:System.NotSupportedException">Always thrown by this class.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Skip(System.Int64)">
      <summary>Skips ahead the specified number of bytes from the current stream.</summary>
      <remarks>
        <para>This method represents the Win32 API implementation of <see href="http://msdn.microsoft.com/en-us/library/aa362509(VS.85).aspx">BackupSeek</see>.</para>
        <para>
            Applications use the <see cref="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Skip(System.Int64)" /> method to skip portions of a data stream that cause errors. This function does not 
            seek across stream headers. For example, this function cannot be used to skip the stream name. If an application 
            attempts to seek past the end of a substream, the function fails, the return value indicates the actual number of bytes 
            the function seeks, and the file position is placed at the start of the next stream header.
            </para>
      </remarks>
      <param name="bytes">The number of bytes to skip.</param>
      <returns>The number of bytes actually skipped.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.GetAccessControl">
      <summary>
              Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL) entries for the file described by the
              current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object.
            </summary>
      <exception cref="T:System.IO.IOException">Thrown when an IO failure occurred.</exception>
      <returns>
              A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL) entries for the file described by the current
              <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.SetAccessControl(System.Security.AccessControl.ObjectSecurity)">
      <summary>
              Applies access control list (ACL) entries described by a <see cref="T:System.Security.AccessControl.FileSecurity" /> object to the file described by the  current
              <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object.
            </summary>
      <param name="fileSecurity">A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an ACL entry to apply to the current file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Lock(System.Int64,System.Int64)">
      <summary>Prevents other processes from changing the <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> while permitting read access.</summary>
      <param name="position">The beginning of the range to lock. The value of this parameter must be equal to or greater than zero (0).</param>
      <param name="length">The range to be locked.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> or <paramref name="length" /> is negative.</exception>
      <exception cref="T:System.ObjectDisposedException">The file is closed.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.Unlock(System.Int64,System.Int64)">
      <summary>Allows access by other processes to all or part of a file that was previously locked.</summary>
      <param name="position">The beginning of the range to unlock.</param>
      <param name="length">The range to be unlocked.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
      </exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> or <paramref name="length" /> is negative.</exception>
      <exception cref="T:System.ObjectDisposedException">The file is closed.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.BackupFileStream.ReadStreamInfo">
      <summary>
            Reads a stream header from the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" />.
            </summary>
      <returns>The stream header read from the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" />, or <see langword="null" /> if the end-of-file 
            was reached before the required number of bytes of a header could be read.</returns>
      <remarks>The stream must be positioned at where an actual header starts for the returned object to represent valid 
            information.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.CanRead">
      <summary>Gets a value indicating whether the current stream supports reading.</summary>
      <returns>
        <see langword="true" /> if the stream supports reading, <see langword="false" /> otherwise.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.CanSeek">
      <summary>Gets a value indicating whether the current stream supports seeking.</summary>
      <returns>This method always returns <see langword="false" />.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.CanWrite">
      <summary>Gets a value indicating whether the current stream supports writing.</summary>
      <returns>
        <see langword="true" /> if the stream supports writing, <see langword="false" /> otherwise.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.Length">
      <summary>When overridden in a derived class, gets the length in bytes of the stream.</summary>
      <value>This method always throws an exception.</value>
      <exception cref="T:System.NotSupportedException">This exception is always thrown if this property is accessed on a <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" />.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.Position">
      <summary>When overridden in a derived class, gets or sets the position within the current stream.</summary>
      <value>This method always throws an exception.</value>
      <exception cref="T:System.NotSupportedException">This exception is always thrown if this property is accessed on a <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" />.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.BackupFileStream.SafeFileHandle">
      <summary>Gets a <see cref="P:Alphaleonis.Win32.Filesystem.BackupFileStream.SafeFileHandle" /> object that represents the operating system file handle for the file that the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object encapsulates.</summary>
      <value>A <see cref="P:Alphaleonis.Win32.Filesystem.BackupFileStream.SafeFileHandle" /> object that represents the operating system file handle for the file that 
            the current <see cref="T:Alphaleonis.Win32.Filesystem.BackupFileStream" /> object encapsulates.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileEncryptionStatus">
      <summary>Represents the encryption status of the specified file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.Encryptable">
      <summary>The file can be encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.Encrypted">
      <summary>The file is encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.SystemFile">
      <summary>The file is a system file. System files cannot be encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.RootDirectory">
      <summary>The file is a root directory. Root directories cannot be encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.SystemDirectory">
      <summary>The file is a system directory. System directories cannot be encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.Unknown">
      <summary>The encryption status is unknown. The file may be encrypted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.NoFilesystemSupport">
      <summary>The file system does not support file encryption.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.UserDisallowed">
      <summary>Reserved for future use.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.FileEncryptionStatus.ReadOnly">
      <summary>The file is a read-only file.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.ByHandleFileInfo">
      <summary>Contains information that the GetFileInformationByHandle function retrieves.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.Attributes">
      <summary>Gets the file attributes.</summary>
      <value>The file attributes.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.CreationTime">
      <summary>Gets a <see cref="T:System.DateTime" /> structure that specifies when a file or directory was created.</summary>
      <value>A <see cref="T:System.DateTime" /> structure that specifies when a file or directory was created.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.LastAccessTime">
      <summary>Gets a <see cref="T:System.DateTime" /> structure. 
            For a file, the structure specifies the last time that a file is read from or written to. 
            For a directory, the structure specifies when the directory is created. 
            For both files and directories, the specified date is correct, but the time of day is always set to midnight. 
            If the underlying file system does not support the last access time, this member is zero (0).
            </summary>
      <value>A <see cref="T:System.DateTime" /> structure that specifies when a file was last written to or the directory created.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.LastWriteTime">
      <summary>Gets a <see cref="T:System.DateTime" /> structure. 
            For a file, the structure specifies the last time that a file is written to. 
            For a directory, the structure specifies when the directory is created. 
            If the underlying file system does not support the last access time, this member is zero (0).
            </summary>
      <value>A <see cref="T:System.DateTime" /> structure that specifies when a file was last written to or the directory created.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.VolumeSerialNumber">
      <summary>Gets the serial number of the volume that contains a file.</summary>
      <value>The serial number of the volume that contains a file.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.FileSize">
      <summary>Gets the size of the file.</summary>
      <value>The size of the file.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.NumberOfLinks">
      <summary>Gets the number of links to this file. For the FAT file system this member is always 1. For the NTFS file system, it can be more than 1.</summary>
      <value>The number of links to this file. </value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.ByHandleFileInfo.FileIndex">
      <summary>
            Gets the unique identifier associated with the file. The identifier and the volume serial number uniquely identify a 
            file on a single computer. To determine whether two open handles represent the same file, combine the identifier 
            and the volume serial number for each file and compare them.
            </summary>
      <value>The unique identifier of the file.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo">
      <summary>FILE_ID_BOTH_DIR_INFO - Contains information about files in the specified directory. Used for directory handles.
            Use only when calling GetFileInformationByHandleEx.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.AllocationSize">
      <summary>The number of bytes that are allocated for the file. This value is usually a multiple of the sector or cluster size of the underlying physical device.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.ChangeTime">
      <summary>The time that the file was last changed.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.CreationTime">
      <summary>The time that the file was created.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.ExtendedAttributesSize">
      <summary>The size of the extended attributes for the file.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.EndOfFile">
      <summary>The absolute new end-of-file position as a byte offset from the start of the file to the end of the file. 
            Because this value is zero-based, it actually refers to the first free byte in the file. In other words, <b>EndOfFile</b> is the offset to 
            the byte that immediately follows the last valid byte in the file.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.FileAttributes">
      <summary>The file attributes.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.FileId">
      <summary>The file ID.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.FileIndex">
      <summary>The byte offset of the file within the parent directory. This member is undefined for file systems, such as NTFS,
            in which the position of a file within the parent directory is not fixed and can be changed at any time to maintain sort order.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.FileName">
      <summary>The name of the file.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.LastAccessTime">
      <summary>The time that the file was last accessed.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.LastWriteTime">
      <summary>The time that the file was last written to.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileIdBothDirectoryInfo.ShortName">
      <summary>The short 8.3 file naming convention (for example, FILENAME.TXT) name of the file.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileInfo">
      <summary>Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects. This class cannot be inherited.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.RefreshEntryInfo">
      <summary>Refreshes the state of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> EntryInfo instance.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.EnumerateAlternateDataStreams">
      <summary>[AlphaFS] Returns an enumerable collection of <see cref="T:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo" /> instances for the file.</summary>
      <returns>An enumerable collection of <see cref="T:Alphaleonis.Win32.Filesystem.AlternateDataStreamInfo" /> instances for the file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Decompress">
      <summary>[AlphaFS] Decompresses an NTFS compressed file.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Compress">
      <summary>[AlphaFS] Compresses a file using NTFS compression.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.ToString">
      <summary>Returns the path as a string.</summary>
      <returns>The path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.SetAccessControl(System.Security.AccessControl.FileSecurity)">
      <summary>Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.</summary>
      <remarks>
              The SetAccessControl method applies access control list (ACL) entries to the current file that represents the noninherited ACL
              list. Use the SetAccessControl method whenever you need to add or remove ACL entries from a file.
            </remarks>
      <param name="fileSecurity">A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an access control list (ACL) entry to apply to the current file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.SetAccessControl(System.Security.AccessControl.FileSecurity,System.Security.AccessControl.AccessControlSections)">
      <summary>Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.</summary>
      <remarks>
              The SetAccessControl method applies access control list (ACL) entries to the current file that represents the noninherited ACL
              list. Use the SetAccessControl method whenever you need to add or remove ACL entries from a file.
            </remarks>
      <param name="fileSecurity">A <see cref="T:System.Security.AccessControl.FileSecurity" /> object that describes an access control list (ACL) entry to apply to the current file.</param>
      <param name="includeSections">One or more of the <see cref="T:System.Security.AccessControl.AccessControlSections" /> values that specifies the type of access control list (ACL) information to set.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Replace(System.String,System.String)">
      <summary>Replaces the contents of a specified file with the file described by the current <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object, deleting the original file, and creating a backup of the replaced file.</summary>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that encapsulates information about the file described by the <paramref name="destinationFileName" /> parameter.</returns>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of the file described by the current
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object. It also creates a backup of the file that was replaced. Finally, it returns a new
               <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that describes the overwritten file.
            </remarks>
      <remarks>Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being replaced.</remarks>
      <param name="destinationFileName">The name of a file to replace with the current file.</param>
      <param name="destinationBackupFileName">The name of a file with which to create a backup of the file described by the <paramref name="destinationFileName" /> parameter.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Replace(System.String,System.String,System.Boolean)">
      <summary>Replaces the contents of a specified file with the file described by the current <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object, deleting the original file, and creating a backup of the replaced file. Also specifies whether to ignore merge errors.</summary>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that encapsulates information about the file described by the <paramref name="destinationFileName" /> parameter.</returns>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of the file described by the current
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object. It also creates a backup of the file that was replaced. Finally, it returns a new
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that describes the overwritten file.
            </remarks>
      <remarks>Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being replaced.</remarks>
      <param name="destinationFileName">The name of a file to replace with the current file.</param>
      <param name="destinationBackupFileName">The name of a file with which to create a backup of the file described by the <paramref name="destinationFileName" /> parameter.</param>
      <param name="ignoreMetadataErrors">
        <see langword="true" /> to ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Replace(System.String,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Replaces the contents of a specified file with the file described by the current <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object, deleting the original file, and creating a backup of the replaced file. Also specifies whether to ignore merge errors.</summary>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that encapsulates information about the file described by the <paramref name="destinationFileName" /> parameter.</returns>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of the file described by the current
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object. It also creates a backup of the file that was replaced. Finally, it returns a new
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that describes the overwritten file.
            </remarks>
      <remarks>Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being replaced.</remarks>
      <param name="destinationFileName">The name of a file to replace with the current file.</param>
      <param name="destinationBackupFileName">The name of a file with which to create a backup of the file described by the <paramref name="destinationFileName" /> parameter.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Replace(System.String,System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Replaces the contents of a specified file with the file described by the current <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object, deleting the original file, and creating a backup of the replaced file. Also specifies whether to ignore merge errors.</summary>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that encapsulates information about the file described by the <paramref name="destinationFileName" /> parameter.</returns>
      <remarks>
              The Replace method replaces the contents of a specified file with the contents of the file described by the current
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object. It also creates a backup of the file that was replaced. Finally, it returns a new
              <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object that describes the overwritten file.
            </remarks>
      <remarks>Pass null to the <paramref name="destinationBackupFileName" /> parameter if you do not want to create a backup of the file being replaced.</remarks>
      <param name="destinationFileName">The name of a file to replace with the current file.</param>
      <param name="destinationBackupFileName">The name of a file with which to create a backup of the file described by the <paramref name="destinationFileName" /> parameter.</param>
      <param name="ignoreMetadataErrors">
        <see langword="true" /> to ignore merge errors (such as attributes and ACLs) from the replaced file to the replacement file; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Refresh">
      <summary>Refreshes the state of the object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.OpenWrite">
      <summary>Creates a write-only <see cref="T:System.IO.FileStream" />.</summary>
      <returns>A write-only unshared <see cref="T:System.IO.FileStream" /> object for a new or existing file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.OpenText">
      <summary>Creates a <see cref="T:System.IO.StreamReader" /> with NativeMethods.DefaultFileEncoding encoding that reads from an existing text file.</summary>
      <returns>A new <see cref="T:System.IO.StreamReader" /> with NativeMethods.DefaultFileEncoding encoding.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.OpenText(System.Text.Encoding)">
      <summary>[AlphaFS] Creates a <see cref="T:System.IO.StreamReader" /> with <see cref="T:System.Text.Encoding" /> that reads from an existing text file.</summary>
      <returns>A new <see cref="T:System.IO.StreamReader" /> with the specified <see cref="T:System.Text.Encoding" />.</returns>
      <param name="encoding">The <see cref="T:System.Text.Encoding" /> applied to the contents of the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.OpenRead">
      <summary>Creates a read-only <see cref="T:System.IO.FileStream" />.</summary>
      <returns>A new read-only <see cref="T:System.IO.FileStream" /> object.</returns>
      <remarks>This method returns a read-only <see cref="T:System.IO.FileStream" /> object with the <see cref="T:System.IO.FileShare" /> mode set to Read.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Open(System.IO.FileMode)">
      <summary>Opens a file in the specified mode.</summary>
      <returns>A <see cref="T:System.IO.FileStream" /> file opened in the specified mode, with read/write access and unshared.</returns>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant specifying the mode (for example, Open or Append) in which to open the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Open(System.IO.FileMode,System.IO.FileAccess)">
      <summary>Opens a file in the specified mode with read, write, or read/write access.</summary>
      <returns>A <see cref="T:System.IO.FileStream" /> object opened in the specified mode and access, and unshared.</returns>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant specifying the mode (for example, Open or Append) in which to open the file.</param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> constant specifying whether to open the file with Read, Write, or ReadWrite file access.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Open(System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)">
      <summary>Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.</summary>
      <returns>A <see cref="T:System.IO.FileStream" /> object opened with the specified mode, access, and sharing options.</returns>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant specifying the mode (for example, Open or Append) in which to open the file.</param>
      <param name="access">A <see cref="T:System.IO.FileAccess" /> constant specifying whether to open the file with Read, Write, or ReadWrite file access.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant specifying the type of access other <see cref="T:System.IO.FileStream" /> objects have to this file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Open(System.IO.FileMode,System.Security.AccessControl.FileSystemRights)">
      <summary>[AlphaFS] Opens a file in the specified mode with read, write, or read/write access.</summary>
      <returns>A <see cref="T:System.IO.FileStream" /> object opened in the specified mode and access, and unshared.</returns>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant specifying the mode (for example, Open or Append) in which to open the file.</param>
      <param name="rights">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten along with additional options.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Open(System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare)">
      <summary>[AlphaFS] Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.</summary>
      <returns>A <see cref="T:System.IO.FileStream" /> object opened with the specified mode, access, and sharing options.</returns>
      <param name="mode">A <see cref="T:System.IO.FileMode" /> constant specifying the mode (for example, Open or Append) in which to open the file.</param>
      <param name="rights">A <see cref="T:System.Security.AccessControl.FileSystemRights" /> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten along with additional options.</param>
      <param name="share">A <see cref="T:System.IO.FileShare" /> constant specifying the type of access other <see cref="T:System.IO.FileStream" /> objects have to this file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.GetAccessControl">
      <summary>Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the access control list (ACL) entries for the file described by the current <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> object.</summary>
      <returns>
        <see cref="T:System.Security.AccessControl.FileSecurity" />A FileSecurity object that encapsulates the access control rules for the current file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.GetAccessControl(System.Security.AccessControl.AccessControlSections)">
      <summary>Gets a <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.</summary>
      <returns>
        <see cref="T:System.Security.AccessControl.FileSecurity" /> object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.</returns>
      <param name="includeSections">One of the <see cref="N:System.Security" /> values that specifies which group of access control entries to retrieve.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Encrypt">
      <summary>Encrypts a file so that only the account used to encrypt the file can decrypt it.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Delete">
      <summary>Permanently deletes a file.</summary>
      <remarks>If the file does not exist, this method does nothing.</remarks>
      <exception cref="T:System.IO.IOException">.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Delete(System.Boolean)">
      <summary>[AlphaFS] Permanently deletes a file.</summary>
      <remarks>If the file does not exist, this method does nothing.</remarks>
      <param name="ignoreReadOnly">
        <see langword="true" /> overrides the read only <see cref="T:System.IO.FileAttributes" /> of the file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Decrypt">
      <summary>Decrypts a file that was encrypted by the current account using the Encrypt method.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CreateText">
      <summary>Creates a <see crefe="StreamWriter" /> instance that writes a new text file.</summary>
      <returns>A new <see cref="T:System.IO.StreamWriter" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.Create">
      <summary>Creates a file.</summary>
      <returns>
        <see cref="T:System.IO.FileStream" />A new file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String)">
      <summary>Copies an existing file to a new file, disallowing the overwriting of an existing file.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> instance with a fully qualified path.</returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing file by default.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">destinationPath contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">destinationPath is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">.</exception>
      <exception cref="T:System.IO.FileNotFoundException">.</exception>
      <exception cref="T:System.IO.IOException">.</exception>
      <exception cref="T:System.NotSupportedException">.</exception>
      <exception cref="T:System.UnauthorizedAccessException">.</exception>
      <param name="destinationPath">The name of the new file to copy to.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,System.Boolean)">
      <summary>Copies an existing file to a new file, allowing the overwriting of an existing file.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="overwrite" /> is <see langword="true" />.</para>
        <para>If the file exists and <paramref name="overwrite" /> is <see langword="false" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">destinationPath contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">destinationPath is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">.</exception>
      <exception cref="T:System.IO.FileNotFoundException">.</exception>
      <exception cref="T:System.IO.IOException">.</exception>
      <exception cref="T:System.NotSupportedException">.</exception>
      <exception cref="T:System.UnauthorizedAccessException">.</exception>
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="overwrite">
        <see langword="true" /> to allow an existing file to be overwritten; otherwise, <see langword="false" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, disallowing the overwriting of an existing file.</summary>
      <returns>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> instance with a fully qualified path.</returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing file by default.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="overwrite" /> is <see langword="true" />.</para>
        <para>If the file exists and <paramref name="overwrite" /> is <see langword="false" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="overwrite">
        <see langword="true" /> to allow an existing file to be overwritten; otherwise, <see langword="false" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyTo(System.String,Alphaleonis.Win32.Filesystem.CopyOptions,System.Boolean,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Copies an existing file to a new file, allowing the overwriting of an existing file, <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> can be specified.
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>
        <para>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy action.</para>
        <para>Returns a new file, or an overwrite of an existing file if <paramref name="copyOptions" /> is not <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />.</para>
        <para>If the file exists and <paramref name="copyOptions" /> contains <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.FailIfExists" />, an <see cref="T:System.IO.IOException" /> is thrown.</para>
      </returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The name of the new file to copy to.</param>
      <param name="copyOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> that specify how the file is to be copied.</param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String)">
      <summary>Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <remarks>
        <para>Use this method to prevent overwriting of an existing file by default.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
      <returns>
        <para>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> instance with a fully qualified path when successfully moved,</para>
      </returns>
      <remarks>
        <para>Use this method to prevent overwriting of an existing file by default.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable
              behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> instance with a fully qualified path when successfully moved,</para>
      </returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable
              behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <returns>
        <para>Returns a new <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> instance with a fully qualified path when successfully moved,</para>
      </returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable
              behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified,
              <para>and the possibility of notifying the application of its progress through a callback function.</para></summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.MoveTo(System.String,Alphaleonis.Win32.Filesystem.MoveOptions,Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name, <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> can be specified.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Move action.</returns>
      <remarks>
        <para>Use this method to allow or prevent overwriting of an existing file.</para>
        <para>This method works across disk volumes.</para>
        <para>For example, the file c:\MyFile.txt can be moved to d:\public and renamed NewFile.txt.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.FileNotFoundException">Passed if the file was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
      <param name="destinationPath">The path to move the file to, which can specify a different file name.</param>
      <param name="moveOptions">
        <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the directory is to be moved. This parameter can be <see langword="null" />.</param>
      <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <see langword="null" />.</param>
      <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null" />.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.CopyToMoveToInternal(System.String,System.Boolean,System.Nullable{Alphaleonis.Win32.Filesystem.CopyOptions},System.Nullable{Alphaleonis.Win32.Filesystem.MoveOptions},Alphaleonis.Win32.Filesystem.CopyMoveProgressRoutine,System.Object,System.String@,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Unified method CopyToMoveToInternal() to copy/move an existing file to a new file, allowing the overwriting of an existing file.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.CopyMoveResult" /> class with the status of the Copy or Move action.</returns>
      <remarks>
        <para>Option <see cref="F:Alphaleonis.Win32.Filesystem.CopyOptions.NoBuffering" /> is recommended for very large file transfers.</para>
        <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
        <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
      </remarks>
      <param name="destinationPath">
        <para>A full path string to the destination directory</para>
      </param>
      <param name="preserveDates">
        <see langword="true" /> if original Timestamps must be preserved, <see langword="false" /> otherwise.</param>
      <param name="copyOptions">
        <para>This parameter can be <see langword="null" />. Use <see cref="T:Alphaleonis.Win32.Filesystem.CopyOptions" /> to specify how the file is to be copied.</para>
      </param>
      <param name="moveOptions">
        <para>This parameter can be <see langword="null" />. Use <see cref="T:Alphaleonis.Win32.Filesystem.MoveOptions" /> that specify how the file is to be moved.</para>
      </param>
      <param name="progressHandler">
        <para>This parameter can be <see langword="null" />. A callback function that is called each time another portion of the file has been copied.</para>
      </param>
      <param name="userProgressData">
        <para>This parameter can be <see langword="null" />. The argument to be passed to the callback function.</para>
      </param>
      <param name="longFullPath">[out] Returns the retrieved long full path.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <exception cref="T:System.ArgumentException">Passed when the path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">Passed when path is <see langword="null" />.</exception>
      <exception cref="T:System.IO.DirectoryNotFoundException">Passed when the directory was not found.</exception>
      <exception cref="T:System.IO.IOException">Passed when an I/O error occurs.</exception>
      <exception cref="T:System.NotSupportedException" />
      <exception cref="T:System.UnauthorizedAccessException" />
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.AppendText">
      <summary>Creates a <see cref="T:System.IO.StreamWriter" /> that appends text to the file represented by this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />.</summary>
      <returns>A new <see cref="T:System.IO.StreamWriter" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.AppendText(System.Text.Encoding)">
      <summary>Creates a <see cref="T:System.IO.StreamWriter" /> that appends text to the file represented by this instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />.</summary>
      <param name="encoding">The character <see cref="T:System.Text.Encoding" /> to use.</param>
      <returns>A new <see cref="T:System.IO.StreamWriter" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> class, which acts as a wrapper for a file path.</summary>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
      <remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.#ctor(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> class, which acts as a wrapper for a file path.</summary>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> class, which acts as a wrapper for a file path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
      <remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileInfo.#ctor(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>[AlphaFS] Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> class, which acts as a wrapper for a file path.</summary>
      <param name="transaction">The transaction.</param>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.Directory">
      <summary>Gets an instance of the parent directory.</summary>
      <value>A <see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> object representing the parent directory of this file.</value>
      <remarks>To get the parent directory as a string, use the DirectoryName property.</remarks>
      <exception cref="T:System.IO.DirectoryNotFoundException">The specified path is invalid, such as being on an unmapped drive.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.DirectoryName">
      <summary>Gets a string representing the directory's full path.</summary>
      <value>A string representing the directory's full path.</value>
      <remarks>
        <para>To get the parent directory as a DirectoryInfo object, use the Directory property.</para>
        <para>When first called, FileInfo calls Refresh and caches information about the file.</para>
        <para>On subsequent calls, you must call Refresh to get the latest copy of the information.</para>
      </remarks>
      <exception cref="T:System.ArgumentNullException">null was passed in for the directory name.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.Exists">
      <summary>Gets a value indicating whether the file exists.</summary>
      <value>
        <see langword="true" /> if the file exists; otherwise, <see langword="false" />.</value>
      <remarks>
        <para>The <see cref="P:Alphaleonis.Win32.Filesystem.FileInfo.Exists" /> property returns <see langword="false" /> if any error occurs while trying to determine if the specified file exists.</para>
        <para>This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters,</para>
        <para>a failing or missing disk, or if the caller does not have permission to read the file.</para>
      </remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.IsReadOnly">
      <summary>Gets or sets a value that determines if the current file is read only.</summary>
      <value>
        <see langword="true" /> if the current file is read only; otherwise, <see langword="false" />.</value>
      <remarks>
        <para>Use the IsReadOnly property to quickly determine or change whether the current file is read only.</para>
        <para>When first called, FileInfo calls Refresh and caches information about the file.</para>
        <para>On subsequent calls, you must call Refresh to get the latest copy of the information.</para>
      </remarks>
      <exception cref="T:System.IO.FileNotFoundException">The file described by the current FileInfo object could not be found.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred while opening the file.</exception>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.Length">
      <summary>Gets the size, in bytes, of the current file.</summary>
      <value>The size of the current file in bytes.</value>
      <remarks>
        <para>The value of the Length property is pre-cached</para>
        <para>To get the latest value, call the Refresh method.</para>
      </remarks>
      <exception cref="T:System.IO.FileNotFoundException">The file does not exist or the Length property is called for a directory.</exception>
      <exception cref="T:System.IO.IOException" />
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileInfo.Name">
      <summary>Gets the name of the file.</summary>
      <value>The name of the file.</value>
      <remarks>
        <para>The name of the file includes the file extension.</para>
        <para>When first called, <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" /> calls Refresh and caches information about the file.</para>
        <para>On subsequent calls, you must call Refresh to get the latest copy of the information.</para>
        <para>The name of the file includes the file extension.</para>
      </remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes">
      <summary>Specifies how the operating system should open a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.None">
      <summary>None of the file attributes specified.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.ReadOnly">
      <summary>The file is read only. Applications can read the file, but cannot write to or delete it.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.ReadOnly" />1</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Hidden">
      <summary>The file is hidden. Do not include it in an ordinary directory listing.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Hidden" />2</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.System">
      <summary>The file is part of or used exclusively by an operating system.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.System" />4</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Directory">
      <summary>The handle that identifies a directory.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Directory" />16</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Archive">
      <summary>The file should be archived. Applications use this attribute to mark files for backup or removal.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Archive" />32</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Device">
      <summary>The file should be archived. Applications use this attribute to mark files for backup or removal.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Device" />64</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Normal">
      <summary>The file does not have other attributes set. This attribute is valid only if used alone.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Normal" />128</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Temporary">
      <summary>The file is being used for temporary storage.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Temporary" />256</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.SparseFile">
      <summary>A file that is a sparse file.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.SparseFile" />512</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.ReparsePoint">
      <summary>A file or directory that has an associated reparse point, or a file that is a symbolic link.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.ReparsePoint" />1024</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Compressed">
      <summary>A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Compressed" />2048</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Offline">
      <summary>The data of a file is not immediately available. This attribute indicates that file data is physically moved to offline storage. This attribute is used by Remote Storage, the hierarchical storage management software. Applications should not arbitrarily change this attribute.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.Offline" />4096</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.NotContentIndexed">
      <summary>The file or directory is not to be indexed by the content indexing service.</summary>
      <remarks>Equals <see cref="F:System.IO.FileAttributes.NotContentIndexed" />8192</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Encrypted">
      <summary>The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and subdirectories.</summary>
      <remarks>Equals <see cref="F:System.IO.FileOptions.Encrypted" />16384</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.IntegrityStream">
      <summary>The directory or user data stream is configured with integrity (only supported on ReFS volumes). It is not included in an ordinary directory listing. The integrity setting persists with the file if it's renamed. If a file is copied the destination file will have integrity set if either the source file or destination directory have integrity set.</summary>
      <remarks>This flag is not supported until Windows Server 2012.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.NoScrubData">
      <summary>The user data stream not to be read by the background data integrity scanner (AKA scrubber). When set on a directory it only provides inheritance. This flag is only supported on Storage Spaces and ReFS volumes. It is not included in an ordinary directory listing.</summary>
      <remarks>This flag is not supported until Windows Server 2012.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.FirstPipeInstance">
      <summary>...</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.OpenNoRecall">
      <summary>The file data is requested, but it should continue to be located in remote storage. It should not be transported back to local storage. This flag is for use by remote storage systems.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.OpenReparsePoint">
      <summary>Normal reparse point processing will not occur; an attempt to open the reparse point will be made. When a file is opened, a file handle is returned, whether or not the filter that controls the reparse point is operational. See MSDN documentation for more information.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.PosixSemantics">
      <summary>Access will occur according to POSIX rules. This includes allowing multiple files with names, differing only in case, for file systems that support that naming. Use care when using this option, because files created with this flag may not be accessible by applications that are written for MS-DOS or 16-bit Windows.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.BackupSemantics">
      <summary>The file is being opened or created for a backup or restore operation. The system ensures that the calling process overrides file security checks when the process has SE_BACKUP_NAME and SE_RESTORE_NAME privileges. You must set this flag to obtain a handle to a directory. A directory handle can be passed to some functions instead of a file handle.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.DeleteOnClose">
      <summary>The file is to be deleted immediately after all of its handles are closed, which includes the specified handle and any other open or duplicated handles. If there are existing open handles to a file, the call fails unless they were all opened with the <see cref="F:System.IO.FileShare.Delete" /> share mode. Subsequent open requests for the file fail, unless the <see cref="F:System.IO.FileShare.Delete" /> share mode is specified.</summary>
      <remarks>Equals <see cref="F:System.IO.FileOptions.DeleteOnClose" />67108864</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.SequentialScan">
      <summary>Access is intended to be sequential from beginning to end. The system can use this as a hint to optimize file caching.</summary>
      <remarks>Equals <see cref="F:System.IO.FileOptions.SequentialScan" />134217728</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.RandomAccess">
      <summary>Access is intended to be random. The system can use this as a hint to optimize file caching.</summary>
      <remarks>Equals <see cref="F:System.IO.FileOptions.RandomAccess" />268435456</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.NoBuffering">
      <summary>There are strict requirements for successfully working with files opened with the <see cref="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.NoBuffering" /> flag, for details see the section on "File Buffering" in the online MSDN documentation.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.Overlapped">
      <summary>The file or device is being opened or created for asynchronous I/O.</summary>
      <remarks>Equals <see cref="F:System.IO.FileOptions.Asynchronous" />1073741824</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.ExtendedFileAttributes.WriteThrough">
      <summary>Write operations will not go through any intermediate cache, they will go directly to disk.</summary>
      <remarks>Equals .NET <see cref="F:System.IO.FileOptions.WriteThrough" />-2147483648</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo">
      <summary>Class that retrieves file system entries (i.e. files and directories) using Win32 API FindFirst()/FindNext().</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.Enumerate``1">
      <summary>Get an enumerator that returns all of the file system objects that match the wildcards that are in any of the directories to be searched.</summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> instance: FileSystemEntryInfo, DirectoryInfo, FileInfo or string (full path).</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.Get``1">
      <summary>Gets a specific file system object.</summary>
      <returns>
        <para>The return type is based on C# inference. Possible return types are:</para>
        <para>
          <see cref="T:System.String" />- (full path), <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" />- (<see cref="T:Alphaleonis.Win32.Filesystem.DirectoryInfo" /> or <see cref="T:Alphaleonis.Win32.Filesystem.FileInfo" />), <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance</para>
        <para>or null in case an Exception is raised and <see cref="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.ContinueOnException" /> is <see langword="true" />.</para>
      </returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.AsFileSystemInfo">
      <summary>Gets or sets the ability to return the object as a <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> instance.</summary>
      <value>
        <see langword="true" /> returns the object as a <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemInfo" /> instance.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.AsLongPath">
      <summary>Gets or sets the ability to return the full path in Unicode format.</summary>
      <value>
        <see langword="true" /> returns the full path in Unicode format, <see langword="false" /> returns the full path in regular path format.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.AsString">
      <summary>Gets or sets the ability to return the object instance as a <see cref="T:System.String" />.</summary>
      <value>
        <see langword="true" /> returns the full path of the object as a <see cref="T:System.String" /></value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.FindExInfoLevel">
      <summary>Gets the value indicating which <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels" /> to use.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.ContinueOnException">
      <summary>Gets or sets the ability to skip on access errors.</summary>
      <value>
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as ACLs protected directories or non-accessible reparse points.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.FileSystemObjectType">
      <summary>Gets the file system object type.</summary>
      <value>
        <see langword="null" /> = Return files and directories.
            <see langword="true" /> = Return only directories.
            <see langword="false" /> = Return only files.
            </value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.InputPath">
      <summary>Gets or sets the path to the folder.</summary>
      <value>The path to the file or folder in Unicode format.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.IsDirectory">
      <summary>Gets or sets a value indicating which <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExInfoLevels" /> to use.</summary>
      <value>
        <see langword="true" /> indicates a folder object, <see langword="false" /> indicates a file object.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.LargeCache">
      <summary>Gets the value indicating which <see cref="T:Alphaleonis.Win32.Filesystem.NativeMethods.FindExAdditionalFlags" /> to use.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.Recursive">
      <summary>Specifies whether the search should include only the current directory or should include all subdirectories.</summary>
      <value>
        <see langword="true" /> to all subdirectories.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.SearchPattern">
      <summary>Search for file system object-name using a pattern.</summary>
      <value>The path which has wildcard characters, for example, an asterisk (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll" />) or a question mark (<see cref="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion" />).</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.SkipReparsePoints">
      <summary>
        <see langword="true" /> skips ReparsePoints, <see langword="false" /> will follow ReparsePoints.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FindFileSystemEntryInfo.Transaction">
      <summary>Get or sets the KernelTransaction instance.</summary>
      <value>The transaction.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo">
      <summary>Represents information about a file system entry.
            <para>This class cannot be inherited.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.#ctor(Alphaleonis.Win32.Filesystem.NativeMethods.Win32FindData)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> class.</summary>
      <param name="findData">The NativeMethods.Win32FindData structure.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.ToString">
      <summary>Returns the <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.ReparsePointTag" /> of the <see cref="T:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo" /> instance.</summary>
      <returns>The <see cref="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.ReparsePointTag" /> instance as a string.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.AlternateFileName">
      <summary>Gets the 8.3 version of the filename.</summary>
      <value>the 8.3 version of the filename.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.Attributes">
      <summary>Gets the attributes.</summary>
      <value>The attributes.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.Created">
      <summary>Gets the time this entry was created.</summary>
      <value>The time this entry was created.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.FileName">
      <summary>Gets the name of the file.</summary>
      <value>The name of the file.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.FileSize">
      <summary>Gets the size of the file.</summary>
      <value>The size of the file.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.FullPath">
      <summary>The full path of the file system object.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.IsDirectory">
      <summary>Gets a value indicating whether this instance represents a directory.</summary>
      <value>
        <see langword="true" /> if this instance represents a directory; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.IsMountPoint">
      <summary>Gets a value indicating whether this instance is a mount point.</summary>
      <value>
        <see langword="true" /> if this instance is a mount point; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.IsReparsePoint">
      <summary>Gets a value indicating whether this instance is a reparse point.</summary>
      <value>
        <see langword="true" /> if this instance is a reparse point; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.IsSymbolicLink">
      <summary>Gets a value indicating whether this instance is a symbolic link.</summary>
      <value>
        <see langword="true" /> if this instance is a symbolic link; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.LastAccessed">
      <summary>Gets the time this entry was last accessed.</summary>
      <value>The time this entry was last accessed.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.LastModified">
      <summary>Gets the time this entry was last modified.</summary>
      <value>The time this entry was last modified.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.LongFullPath">
      <summary>The full path of the file system object in Unicode (LongPath) format.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.ReparsePointTag">
      <summary>Gets the reparse point tag of this entry.</summary>
      <value>The reparse point tag of this entry.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.FileSystemEntryInfo.Win32FindData">
      <summary>Gets internal WIN32 FIND Data</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.GetFullPathOptions">
      <summary>A bitfield of flags for specifying options for various internal operations that convert paths to full paths.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.None">
      <summary>No special options applies.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.TrimEnd">
      <summary>Remove any trailing whitespace from the path.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.AddTrailingDirectorySeparator">
      <summary>Add a trailing directory separator to the path (if one does not already exist).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.RemoveTrailingDirectorySeparator">
      <summary>Remove the trailing directory separator from the path (if one exists).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.AsLongPath">
      <summary>Return full path as long full path (Unicode format). Not valid for <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetRegularPath(System.String)" />.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.ContinueOnNonExist">
      <summary>Prevents and exception from being thrown if a filesystem object does not exist. Not valid for <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetRegularPath(System.String)" />.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.CheckInvalidPathChars">
      <summary>Check that the path contains only valid path-characters.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.CheckAdditional">
      <summary>Also check for wildcard (? and *) characters.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.FullCheck">
      <summary>Performs both <see cref="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.CheckInvalidPathChars" /> and <see cref="F:Alphaleonis.Win32.Filesystem.GetFullPathOptions.CheckAdditional" /> checks.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Path">
      <summary>Performs operations on String instances that contain file or directory path information. These operations are performed in a cross-platform manner.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.CurrentDirectoryPrefixChar">
      <summary>[AlphaFS] CurrentDirectoryPrefix = '.' Provides a current directory character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.ExtensionSeparatorChar">
      <summary>[AlphaFS] ExtensionSeparatorChar = '.' Provides an Extension Separator character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.ParentDirectoryPrefix">
      <summary>[AlphaFS] ParentDirectoryPrefix = ".." Provides a parent directory string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.StringTerminatorChar">
      <summary>[AlphaFS] StringTerminatorChar = '\0' String Terminator Suffix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAll">
      <summary>[AlphaFS] WildcardStarMatchAll = "*" Provides a match-all-items string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.WildcardStarMatchAllChar">
      <summary>[AlphaFS] WildcardStarMatchAll = '*' Provides a match-all-items character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestion">
      <summary>[AlphaFS] WildcardQuestion = "?" Provides a replace-item string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.WildcardQuestionChar">
      <summary>[AlphaFS] WildcardQuestion = '?' Provides a replace-item string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar">
      <summary>AltDirectorySeparatorChar = '/' Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar">
      <summary>DirectorySeparatorChar = '\' Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.PathSeparator">
      <summary>PathSeparator = ';' A platform-specific separator character used to separate path strings in environment variables.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparatorChar">
      <summary>VolumeSeparatorChar = ':' Provides a platform-specific Volume Separator character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparator">
      <summary>[AlphaFS] AltDirectorySeparatorChar = "/" Provides a platform-specific alternate string used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.CurrentDirectoryPrefix">
      <summary>[AlphaFS] CurrentDirectoryPrefix = "." Provides a current directory string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparator">
      <summary>[AlphaFS] DirectorySeparator = "\" Provides a platform-specific string used to separate directory levels in a path string that reflects a hierarchical file system organization.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.StreamSeparatorChar">
      <summary>[AlphaFS] StreamSeparator = ':' Provides a platform-specific Stream-name character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.StreamSeparator">
      <summary>[AlphaFS] StreamSeparator = ':' Provides a platform-specific Stream-name character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparator">
      <summary>[AlphaFS] VolumeSeparatorChar = ':' Provides a platform-specific Volume Separator character.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.UncPrefix">
      <summary>[AlphaFS] UncPrefix = "\\" Provides standard Windows Path UNC prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.LongPathPrefix">
      <summary>[AlphaFS] LongPathPrefix = "\\?\" Provides standard Windows Long Path prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.LongPathUncPrefix">
      <summary>[AlphaFS] LongPathUncPrefix = "\\?\UNC\" Provides standard Windows Long Path UNC prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.GlobalRootPrefix">
      <summary>[AlphaFS] GlobalRootPrefix = "\\?\GLOBALROOT\" Provides standard Windows Volume prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.LogicalDrivePrefix">
      <summary>[AlphaFS] MsDosNamespacePrefix = "\\.\" Provides standard logical drive prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.SubstitutePrefix">
      <summary>[AlphaFS] SubstitutePrefix = "\??\" Provides a SUBST.EXE Path prefix to a Logical Drive.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.VolumePrefix">
      <summary>[AlphaFS] VolumePrefix = "\\?\Volume" Provides standard Windows Volume prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DevicePrefix">
      <summary>[AlphaFS] DevicePrefix = "\Device\" Provides standard Windows Device prefix.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DosDeviceLanmanPrefix">
      <summary>[AlphaFS] DosDeviceLanmanPrefix = "\Device\LanmanRedirector\" Provides a MS-Dos Lanman Redirector Path UNC prefix to a network share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DosDeviceMupPrefix">
      <summary>[AlphaFS] DosDeviceMupPrefix = "\Device\Mup\" Provides a MS-Dos Mup Redirector Path UNC prefix to a network share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Path.DosDeviceUncPrefix">
      <summary>[AlphaFS] DosDeviceUncPrefix = "\??\UNC\" Provides a SUBST.EXE Path UNC prefix to a network share.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.HasExtension(System.String)">
      <summary>Determines whether a path includes a file name extension.</summary>
      <returns>
        <see langword="true" /> if the characters that follow the last directory separator (\\ or /) or volume separator (:) in the path include a period (.) followed by one or more characters; otherwise, <see langword="false" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path to search for an extension. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsPathRooted(System.String)">
      <summary>Gets a value indicating whether the specified path string contains absolute or relative path information.</summary>
      <returns>
        <see langword="true" /> if <paramref name="path" /> contains a root; otherwise, <see langword="false" />.</returns>
      <remarks>
              The IsPathRooted method returns true if the first character is a directory separator character such as
              <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" />, or if the path starts with a drive letter and colon (<see cref="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparatorChar" />). For
              example, it returns true for path strings such as "\\MyDir\\MyFile.txt", "C:\\MyDir", or "C:MyDir". It returns <see langword="false" /> for
              path strings such as "MyDir".
            </remarks>
      <remarks>This method does not verify that the path or file name exists.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path to test. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsPathRooted(System.String,System.Boolean)">
      <summary>[AlphaFS] Gets a value indicating whether the specified path string contains absolute or relative path information.</summary>
      <returns>
        <see langword="true" /> if <paramref name="path" /> contains a root; otherwise, <see langword="false" />.</returns>
      <remarks>
              The IsPathRooted method returns true if the first character is a directory separator character such as
              <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" />, or if the path starts with a drive letter and colon (<see cref="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparatorChar" />). For
              example, it returns true for path strings such as "\\MyDir\\MyFile.txt", "C:\\MyDir", or "C:MyDir". It returns <see langword="false" /> for
              path strings such as "MyDir".
            </remarks>
      <remarks>This method does not verify that the path or file name exists.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path to test. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsLocalPath(System.String)">
      <summary>[AlphaFS] Determines whether the specified path is a local path.</summary>
      <returns>
        <see langword="true" /> if the specified path is a local path, <see langword="false" /> otherwise.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path to check.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsLocalPath(System.String,System.Boolean)">
      <summary>[AlphaFS] Determines whether the specified path is a local path.</summary>
      <returns>
        <see langword="true" /> if the specified path is a local path, <see langword="false" /> otherwise.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path to check.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsValidName(System.String)">
      <summary>[AlphaFS] Check if file or folder name has any invalid characters.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="name">File or folder name.</param>
      <returns>Returns <see langword="true" /> if name contains any invalid characters. Otherwise <see langword="false" /></returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.CheckValidPath(System.String,System.Boolean,System.Boolean)">
      <summary>Checks that the given path format is supported.</summary>
      <exception cref="T:System.NotSupportedException">Path contains a colon character (:) that is not part of a drive label ("C:\").</exception>
      <param name="path">A path to the file or directory.</param>
      <param name="checkInvalidPathChars">Checks that the path contains only valid path-characters.</param>
      <param name="checkAdditional">.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.CheckInvalidPathChars(System.String,System.Boolean)">
      <summary>[AlphaFS] Checks that the path contains only valid path-characters.</summary>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">A path to the file or directory.</param>
      <param name="checkAdditional">
        <see langword="true" /> also checks for ? and * characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.DosDeviceToDosPath(System.String,System.String)">
      <summary>[AlphaFS] Tranlates DosDevicePath, Volume GUID. For example: "\Device\HarddiskVolumeX\path\filename.ext" can translate to: "\path\filename.ext" or: "\\?\Volume{GUID}\path\filename.ext".</summary>
      <returns>A translated dos path.</returns>
      <param name="dosDevice">A DosDevicePath, for example: \Device\HarddiskVolumeX\path\filename.ext.</param>
      <param name="deviceReplacement">Alternate path/device text, usually <c>string.Empty</c> or <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsDVsc(System.Char,System.Nullable{System.Boolean})">
      <summary>[AlphaFS] Check if <paramref name="c" /> is a directory- and/or volume-separator character.</summary>
      <returns>
        <see langword="true" /> if <paramref name="c" /> is a separator character.</returns>
      <param name="c">The character to check.</param>
      <param name="checkSeparatorChar">
              If <see langword="null" />, checks for all separator characters: <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" />,
              <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparatorChar" />
              If <see langword="false" />, only checks for: <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> and <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" />
              If <see langword="true" /> only checks for: <see cref="F:Alphaleonis.Win32.Filesystem.Path.VolumeSeparatorChar" /></param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.ChangeExtension(System.String,System.String)">
      <summary>Changes the extension of a path string.</summary>
      <returns>The modified path information.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path information to modify. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
      <param name="extension">The new extension (with or without a leading period). Specify <see langword="null" /> to remove an existing extension from path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetDirectoryName(System.String)">
      <summary>Returns the directory information for the specified path string.</summary>
      <returns>
        <para>Directory information for <paramref name="path" />, or <see langword="null" /> if <paramref name="path" /> denotes a root directory or is
              <see langword="null" />.</para>
        <para>Returns <see cref="F:System.String.Empty" /> if <paramref name="path" /> does not contain directory information.</para>
      </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path of a file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetDirectoryName(System.String,System.Boolean)">
      <summary>[AlphaFS] Returns the directory information for the specified path string.</summary>
      <returns>
              Directory information for <paramref name="path" />, or <see langword="null" /> if <paramref name="path" /> denotes a root directory or is
              <see langword="null" />. Returns <see cref="F:System.String.Empty" /> if <paramref name="path" /> does not contain directory information.
            </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path of a file or directory.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetDirectoryNameWithoutRoot(System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified path string without the root information, for example: "C:\Windows\system32" returns: "Windows".</summary>
      <returns>The <paramref name="path" />without the file name part and without the root information (if any), or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> denotes a root (such as "\", "C:", or * "\\server\share").</returns>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetDirectoryNameWithoutRoot(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified path string without the root information, for example: "C:\Windows\system32" returns: "Windows".</summary>
      <returns>The <paramref name="path" />without the file name part and without the root information (if any), or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> denotes a root (such as "\", "C:", or * "\\server\share").</returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetExtension(System.String)">
      <summary>Returns the extension of the specified path string.</summary>
      <returns>
        <para>The extension of the specified path (including the period "."), or null, or <see cref="F:System.String.Empty" />.</para>
        <para>If <paramref name="path" /> is null, this method returns null.</para>
        <para>If <paramref name="path" /> does not have extension information,
              this method returns <see cref="F:System.String.Empty" />.</para>
      </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="path">The path string from which to get the extension. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetExtension(System.String,System.Boolean)">
      <summary>Returns the extension of the specified path string.</summary>
      <returns>
        <para>The extension of the specified path (including the period "."), or null, or <see cref="F:System.String.Empty" />.</para>
        <para>If <paramref name="path" /> is null, this method returns null.</para>
        <para>If <paramref name="path" /> does not have extension information,
              this method returns <see cref="F:System.String.Empty" />.</para>
      </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path string from which to get the extension. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFileName(System.String)">
      <summary>Returns the file name and extension of the specified path string.</summary>
      <returns>
              The characters after the last directory character in <paramref name="path" />. If the last character of <paramref name="path" /> is a
              directory or volume separator character, this method returns <c>string.Empty</c>. If path is null, this method returns null.
            </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path string from which to obtain the file name and extension. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFileName(System.String,System.Boolean)">
      <summary>[AlphaFS] Returns the file name and extension of the specified path string.</summary>
      <returns>
              The characters after the last directory character in <paramref name="path" />. If the last character of <paramref name="path" /> is a
              directory or volume separator character, this method returns <c>string.Empty</c>. If path is null, this method returns null.
            </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path string from which to obtain the file name and extension.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFileNameWithoutExtension(System.String)">
      <summary>Returns the file name of the specified path string without the extension.</summary>
      <returns>The string returned by GetFileName, minus the last period (.) and all characters following it.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path of the file. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFileNameWithoutExtension(System.String,System.Boolean)">
      <summary>[AlphaFS] Returns the file name of the specified path string without the extension.</summary>
      <returns>The string returned by GetFileName, minus the last period (.) and all characters following it.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path of the file. The path cannot contain any of the characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidFileNameChars">
      <summary>Gets an array containing the characters that are not allowed in file names.</summary>
      <returns>An array containing the characters that are not allowed in file names.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars">
      <summary>Gets an array containing the characters that are not allowed in path names.</summary>
      <returns>An array containing the characters that are not allowed in path names.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetPathRoot(System.String)">
      <summary>Gets the root directory information of the specified path.</summary>
      <returns>
        <para>Returns the root directory of <paramref name="path" />, such as "C:\", or <see langword="null" /> if <paramref name="path" /> is
              <see langword="null" />, </para>
        <para>or an empty string if <paramref name="path" /> does not contain root directory information.</para>
      </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path from which to obtain root directory information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetPathRoot(System.String,System.Boolean)">
      <summary>[AlphaFS] Gets the root directory information of the specified path.</summary>
      <returns>
        <para>Returns the root directory of <paramref name="path" />, such as "C:\", or <see langword="null" /> if <paramref name="path" /> is
              <see langword="null" />, </para>
        <para>or an empty string if <paramref name="path" /> does not contain root directory information.</para>
      </returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path from which to obtain root directory information.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFinalPathNameByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>[AlphaFS] Retrieves the final path for the specified file, formatted as <see cref="T:Alphaleonis.Win32.Filesystem.FinalPathFormats" />.</summary>
      <returns>Returns the final path as a string.</returns>
      <remarks>
              A final path is the path that is returned when a path is fully resolved. For example, for a symbolic link named "C:\tmp\mydir" that
              points to "D:\yourdir", the final path would be "D:\yourdir".
            </remarks>
      <param name="handle">Then handle to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> instance.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFinalPathNameByHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.Filesystem.FinalPathFormats)">
      <summary>[AlphaFS] Retrieves the final path for the specified file, formatted as <see cref="T:Alphaleonis.Win32.Filesystem.FinalPathFormats" />.</summary>
      <returns>Returns the final path as a string.</returns>
      <remarks>
              A final path is the path that is returned when a path is fully resolved. For example, for a symbolic link named "C:\tmp\mydir" that
              points to "D:\yourdir", the final path would be "D:\yourdir".
            </remarks>
      <param name="handle">Then handle to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> instance.</param>
      <param name="finalPath">The final path, formatted as <see cref="T:Alphaleonis.Win32.Filesystem.FinalPathFormats" /></param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFinalPathNameByHandleInternal(Microsoft.Win32.SafeHandles.SafeFileHandle,Alphaleonis.Win32.Filesystem.FinalPathFormats)">
      <summary>[AlphaFS] Unified method GetFinalPathNameByHandleInternal() to retrieve the final path for the specified file, formatted as <see cref="T:Alphaleonis.Win32.Filesystem.FinalPathFormats" />.</summary>
      <returns>Returns the final path as a string.</returns>
      <remarks>
              A final path is the path that is returned when a path is fully resolved. For example, for a symbolic link named "C:\tmp\mydir" that
              points to "D:\yourdir", the final path would be "D:\yourdir". The string that is returned by this function uses the
              <see cref="F:Alphaleonis.Win32.Filesystem.Path.LongPathPrefix" /> syntax.
            </remarks>
      <param name="handle">Then handle to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> instance.</param>
      <param name="finalPath">The final path, formatted as <see cref="T:Alphaleonis.Win32.Filesystem.FinalPathFormats" /></param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.Combine(System.String[])">
      <summary>Combines an array of strings into a path.</summary>
      <returns>The combined paths.</returns>
      <exception cref="T:System.ArgumentException">One of the strings in the array contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException">One of the strings in the array is <see langword="null" />.</exception>
      <param name="paths">An array of parts of the path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.CombineInternal(System.Boolean,System.String[])">
      <summary>Unified method Combine() to combine an array of strings into a path.</summary>
      <returns>Returns the combined paths.</returns>
      <remarks>
        <para>The parameters are not parsed if they have white space.</para>
        <para>Therefore, if path2 includes white space (for example, " c:\\ "),</para>
        <para>the Combine method appends path2 to path1 instead of returning only path2.</para>
      </remarks>
      <exception cref="T:System.ArgumentNullException">One of the strings in the array is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentException">One of the strings in the array contains one or more of the invalid characters defined in <see cref="M:Alphaleonis.Win32.Filesystem.Path.GetInvalidPathChars" />.</exception>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will not check <paramref name="paths" /> for invalid path characters.</param>
      <param name="paths">An array of parts of the path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFullPath(System.String)">
      <summary>Returns the absolute path for the specified path string.</summary>
      <returns>The fully qualified location of path, such as "C:\MyFile.txt".</returns>
      <remarks>
        <para>GetFullPathName merges the name of the current drive and directory with a specified file name to determine the full path and file name of a specified file.</para>
        <para>It also calculates the address of the file name portion of the full path and file name.</para>
        <para> </para>
        <para>This method does not verify that the resulting path and file name are valid, or that they see an existing file on the associated volume.</para>
        <para>The .NET Framework does not support direct access to physical disks through paths that are device names, such as "\\.\PHYSICALDRIVE0".</para>
        <para> </para>
        <para>MSDN: Multithreaded applications and shared library code should not use the GetFullPathName function and</para>
        <para>should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process,</para>
        <para>therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value.</para>
        <para>This limitation also applies to the SetCurrentDirectory and GetCurrentDirectory functions. The exception being when the application is guaranteed to be running in a single thread,</para>
        <para>for example parsing file names from the command line argument string in the main thread prior to creating any additional threads.</para>
        <para>Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="path">The file or directory for which to obtain absolute path information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFullPath(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns the absolute path for the specified path string.</summary>
      <returns>The fully qualified location of path, such as "C:\MyFile.txt".</returns>
      <remarks>
        <para>GetFullPathName merges the name of the current drive and directory with a specified file name to determine the full path and file name of a specified file.</para>
        <para>It also calculates the address of the file name portion of the full path and file name.</para>
        <para> </para>
        <para>This method does not verify that the resulting path and file name are valid, or that they see an existing file on the associated volume.</para>
        <para>The .NET Framework does not support direct access to physical disks through paths that are device names, such as "\\.\PHYSICALDRIVE0".</para>
        <para> </para>
        <para>MSDN: Multithreaded applications and shared library code should not use the GetFullPathName function and</para>
        <para>should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process,</para>
        <para>therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value.</para>
        <para>This limitation also applies to the SetCurrentDirectory and GetCurrentDirectory functions. The exception being when the application is guaranteed to be running in a single thread,</para>
        <para>for example parsing file names from the command line argument string in the main thread prior to creating any additional threads.</para>
        <para>Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.NotSupportedException">path contains a colon (":") that is not part of a volume identifier (for example, "c:\").</exception>
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to obtain absolute path information.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetFullPathInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.GetFullPathOptions)">
      <summary>Unified method GetFullPathInternal() to retrieve the absolute path for the specified <paramref name="path" /> string.</summary>
      <returns>Returns the fully qualified location of <paramref name="path" />, such as "C:\MyFile.txt".</returns>
      <remarks>
        <para>GetFullPathName merges the name of the current drive and directory with a specified file name to determine the full path and file name of a specified file.</para>
        <para>It also calculates the address of the file name portion of the full path and file name.</para>
        <para> </para>
        <para>This method does not verify that the resulting path and file name are valid, or that they see an existing file on the associated volume.</para>
        <para>The .NET Framework does not support direct access to physical disks through paths that are device names, such as "\\.\PHYSICALDRIVE0".</para>
        <para> </para>
        <para>MSDN: Multithreaded applications and shared library code should not use the GetFullPathName function and</para>
        <para>should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process,</para>
        <para>therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value.</para>
        <para>This limitation also applies to the SetCurrentDirectory and GetCurrentDirectory functions. The exception being when the application is guaranteed to be running in a single thread,</para>
        <para>for example parsing file names from the command line argument string in the main thread prior to creating any additional threads.</para>
        <para>Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.</para>
      </remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <param name="transaction">The transaction.</param>
      <param name="path">The file or directory for which to obtain absolute path information.</param>
      <param name="options">Options for controlling the operation.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.AddTrailingDirectorySeparator(System.String)">
      <summary>[AlphaFS] Adds a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character to the string, when absent.</summary>
      <returns>A text string with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character. The function returns <see langword="null" /> when <paramref name="path" /> is <see langword="null" />.</returns>
      <param name="path">A text string to which the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> is to be added, when absent.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.AddTrailingDirectorySeparator(System.String,System.Boolean)">
      <summary>[AlphaFS] Adds a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character to the string, when absent.</summary>
      <returns>A text string with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character. The function returns <see langword="null" /> when <paramref name="path" /> is <see langword="null" />.</returns>
      <param name="path">A text string to which the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> is to be added, when absent.</param>
      <param name="addAlternateSeparator">If <see langword="true" /> the <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character will be added instead.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.RemoveTrailingDirectorySeparator(System.String)">
      <summary>[AlphaFS] Removes the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character from the string, when present.</summary>
      <returns>A text string where the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character has been removed. The function returns <see langword="null" /> when <paramref name="path" /> is <see langword="null" />.</returns>
      <param name="path">A text string from which the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> is to be removed, when present.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.RemoveTrailingDirectorySeparator(System.String,System.Boolean)">
      <summary>[AlphaFS] Removes the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character from the string, when present.</summary>
      <returns>A text string where the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character has been removed. The function returns <see langword="null" /> when <paramref name="path" /> is <see langword="null" />.</returns>
      <param name="path">A text string from which the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> is to be removed, when present.</param>
      <param name="removeAlternateSeparator">If <see langword="true" /> the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.AltDirectorySeparatorChar" /> character will be removed instead.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryName(System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The suffixed directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> denotes a root (such as "\", "C:", or * "\\server\share").</para>
      </returns>
      <remarks>This method is similar to calling Path.GetDirectoryName() + Path.AddTrailingDirectorySeparator()</remarks>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryName(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The suffixed directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> denotes a root (such as "\", "C:", or * "\\server\share").</para>
      </returns>
      <remarks>This method is similar to calling Path.GetDirectoryName() + Path.AddTrailingDirectorySeparator()</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryNameWithoutRoot(System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> is <see langword="null" />.</para>
      </returns>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryNameWithoutRoot(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Returns the directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> is <see langword="null" />.</para>
      </returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryNameInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Unified method GetSuffixedDirectoryNameInternal() to return the directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The suffixed directory information for the specified <paramref name="path" /> with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> denotes a root (such as "\", "C:", or * "\\server\share").</para>
      </returns>
      <remarks>This method is similar to calling Path.GetDirectoryName() + Path.AddTrailingDirectorySeparator()</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetSuffixedDirectoryNameWithoutRootInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Unified method GetSuffixedDirectoryNameWithoutRootInternal() to return the directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character.</summary>
      <returns>
        <para>The directory information for the specified <paramref name="path" /> without the root and with a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character,</para>
        <para>or <see langword="null" /> if <paramref name="path" /> is <see langword="null" /> or if <paramref name="path" /> is <see langword="null" />.</para>
      </returns>
      <param name="transaction">The transaction.</param>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetMappedConnectionName(System.String)">
      <summary>[AlphaFS] Gets the connection name of the locally mapped drive.</summary>
      <returns>The server and share as: \\servername\sharename.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="path" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="path">The local path with drive name.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetMappedUncName(System.String)">
      <summary>[AlphaFS] Gets the network share name from the locally mapped path.</summary>
      <returns>The network share connection name of <paramref name="path" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="path" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="path">The local path with drive name.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsUncPath(System.String)">
      <summary>[AlphaFS] Determines if a path string is a valid Universal Naming Convention (UNC) path.</summary>
      <returns>Returns <see langword="true" /> if the specified path is a Universal Naming Convention (UNC) path, <see langword="false" /> otherwise.</returns>
      <param name="path">The path to check.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsUncPath(System.String,System.Boolean)">
      <summary>[AlphaFS] Determines if a path string is a valid Universal Naming Convention (UNC) path.</summary>
      <returns>Returns <see langword="true" /> if the specified path is a Universal Naming Convention (UNC) path, <see langword="false" /> otherwise.</returns>
      <param name="path">The path to check.</param>
      <param name="checkInvalidPathChars">
        <see langword="true" /> will check <paramref name="path" /> for invalid path characters.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.LocalToUnc(System.String)">
      <summary>[AlphaFS] Converts a local path to a network share path.   
              <para>A Local path, e.g.: "C:\Windows" will be returned as: "\\localhostname\C$\Windows"</para><para>If a logical drive points to a network share path, the share path will be returned.</para></summary>
      <returns>Returns a UNC path or <see langword="null" /> when <paramref name="localPath" /> is an empty string or <see langword="null" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="localPath" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="localPath">A local path, e.g.: "C:\Windows".</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.LocalToUnc(System.String,System.Boolean)">
      <summary>[AlphaFS] Converts a local path to a network share path.  
              <para>A Local path, e.g.: "C:\Windows" will be returned as: "\\localhostname\C$\Windows"</para><para>If a logical drive points to a network share path, the share path will be returned.</para></summary>
      <returns>Returns a UNC path in long path format or <see langword="null" /> when <paramref name="localPath" /> is an empty string or <see langword="null" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="localPath" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="localPath">A local path, e.g.: "C:\Windows".</param>
      <param name="asLongPath">
        <see langword="true" /> returns the path in long path (Unicode) format, when <see langword="false" /> returns the path as a regular path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.LocalToUnc(System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Converts a local path to a network share path.  
              <para>A Local path, e.g.: "C:\Windows" will be returned as: "\\localhostname\C$\Windows"</para><para>If a logical drive points to a network share path, the share path will be returned.</para></summary>
      <returns>Returns a UNC path in long path format or <see langword="null" /> when <paramref name="localPath" /> is an empty string or <see langword="null" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="localPath" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="localPath">A local path, e.g.: "C:\Windows".</param>
      <param name="asLongPath">
        <see langword="true" /> returns the path in long path (Unicode) format, when <see langword="false" /> returns the path as a regular path.</param>
      <param name="addTrailingDirectorySeparator">
        <see langword="true" /> adds a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character to <paramref name="localPath" />, when absent.</param>
      <param name="removeTrailingDirectorySeparator">
        <see langword="true" /> removes the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character from <paramref name="localPath" />, when present.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.LocalToUncInternal(System.String,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
      <summary>[AlphaFS] Unified method LocalToUncInternal() to converts a local path to a network share path. A Local path, e.g.: "C:\Windows" will be returned as: "\\localhostname\C$\Windows"
            <para>If a logical drive points to a network share path, the share path will be returned.</para></summary>
      <returns>A UNC path or <see langword="null" /> when <paramref name="localPath" /> is an empty string or <see langword="null" />.</returns>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="localPath" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="localPath">A local path, e.g.: "C:\Windows".</param>
      <param name="asLongPath">
        <see langword="true" /> returns the path in long path (Unicode) format, when <see langword="false" /> returns the path as a regular path.</param>
      <param name="trimEnd">
        <see langword="true" /> removes trailing whitespace from <paramref name="localPath" />.</param>
      <param name="addTrailingDirectorySeparator">
        <see langword="true" /> adds a trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character to <paramref name="localPath" />, when absent.</param>
      <param name="removeTrailingDirectorySeparator">
        <see langword="true" /> removes the trailing <see cref="F:Alphaleonis.Win32.Filesystem.Path.DirectorySeparatorChar" /> character from <paramref name="localPath" />, when present.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetLongPath(System.String)">
      <summary>[AlphaFS] Makes a Unicode path (LongPath) of the specified <paramref name="path" /> by prefixing <see cref="F:Alphaleonis.Win32.Filesystem.Path.LongPathPrefix" />.</summary>
      <returns>Returns the <paramref name="path" /> prefixed with a <see cref="F:Alphaleonis.Win32.Filesystem.Path.LongPathPrefix" />.</returns>
      <param name="path">The local or UNC path to the file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetLongFrom83ShortPath(System.String)">
      <summary>[AlphaFS] Converts the specified existing path to its regular long form.</summary>
      <param name="path">An existing path to a folder or file.</param>
      <returns>The regular full path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetLongFrom83ShortPath(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Converts the specified existing path to its regular long form.</summary>
      <param name="transaction">The transaction.</param>
      <param name="path">An existing path to a folder or file.</param>
      <returns>The regular full path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetRegularPath(System.String)">
      <summary>[AlphaFS] Gets the regular path from long prefixed one. i.e.: "\\?\C:\Temp\file.txt" to C:\Temp\file.txt" or: "\\?\UNC\Server\share\file.txt" to "\\Server\share\file.txt".</summary>
      <returns>Regular form path string.</returns>
      <remarks>This method does not handle paths with volume names, eg. \\?\Volume{GUID}\Folder\file.txt.</remarks>
      <param name="path">The path.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetShort83Path(System.String)">
      <summary>[AlphaFS] Retrieves the short path form of the specified path.</summary>
      <returns>A path that has the 8.3 path form.</returns>
      <remarks>Will fail on NTFS volumes with disabled 8.3 name generation.</remarks>
      <remarks>The path must actually exist to be able to get the short path name.</remarks>
      <param name="path">An existing path to a folder or file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetShort83Path(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String)">
      <summary>[AlphaFS] Retrieves the short path form of the specified path.</summary>
      <returns>A path that has the 8.3 path form.</returns>
      <remarks>Will fail on NTFS volumes with disabled 8.3 name generation.</remarks>
      <remarks>The path must actually exist to be able to get the short path name.</remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">An existing path to a folder or file.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.IsLongPath(System.String)">
      <summary>[AlphaFS] Determines whether the specified path starts with a <see cref="F:Alphaleonis.Win32.Filesystem.Path.LongPathPrefix" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Path.LongPathUncPrefix" />.</summary>
      <returns>Returns <see langword="true" /> if the specified path has a long path (UNC) prefix, <see langword="false" /> otherwise.</returns>
      <param name="path">The path to the file or directory.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetLongPathInternal(System.String,Alphaleonis.Win32.Filesystem.GetFullPathOptions)">
      <summary>[AlphaFS] Unified method GetLongPathInternal() to get a long path (Unicode path) of the specified <paramref name="path" />.</summary>
      <returns>Returns the <paramref name="path" /> as a long path, such as "\\?\C:\MyFile.txt".</returns>
      <remarks>
        <para>This method does not verify that the resulting path and file name are valid, or that they see an existing file on the associated volume.</para>
              MSDN: String.TrimEnd Method notes to Callers: http://msdn.microsoft.com/en-us/library/system.string.trimend%28v=vs.110%29.aspx
            </remarks>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path to the file or directory, this may also be an UNC path.</param>
      <param name="options">Options for controlling the operation.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetLongShort83PathInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,System.Boolean)">
      <summary>[AlphaFS] Unified method GetLongShort83PathInternal() to retrieve the short path form, or the regular long form of the specified <paramref name="path" />.</summary>
      <returns>If <paramref name="getShort" /> is <see langword="true" />, a path of the 8.3 form otherwise the regular long form.</returns>
      <remarks>
        <para>Will fail on NTFS volumes with disabled 8.3 name generation.</para>
        <para>The path must actually exist to be able to get the short- or long path name.</para>
      </remarks>
      <param name="transaction">The transaction.</param>
      <param name="path">An existing path to a folder or file.</param>
      <param name="getShort">
        <see langword="true" /> to retrieve the short path form, <see langword="false" /> to retrieve the regular long form from the 8.3 <paramref name="path" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetRegularPathInternal(System.String,Alphaleonis.Win32.Filesystem.GetFullPathOptions)">
      <summary>[AlphaFS] Unified method GetRegularPathInternal() to get the regular path from a long path.</summary>
      <returns>
        <para>Returns the regular form of a long <paramref name="path" />.</para>
        <para>For example: "\\?\C:\Temp\file.txt" to: "C:\Temp\file.txt", or: "\\?\UNC\Server\share\file.txt" to: "\\Server\share\file.txt".</para>
      </returns>
      <remarks>
              MSDN: String.TrimEnd Method notes to Callers: http://msdn.microsoft.com/en-us/library/system.string.trimend%28v=vs.110%29.aspx
            </remarks>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <param name="path">The path.</param>
      <param name="options">Options for controlling the operation.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetExtendedLengthPathInternal(Alphaleonis.Win32.Filesystem.KernelTransaction,System.String,Alphaleonis.Win32.Filesystem.PathFormat,Alphaleonis.Win32.Filesystem.GetFullPathOptions)">
      <summary>Gets the path as a long full path.</summary>
      <returns>The path as an extended length path.</returns>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="transaction">The transaction.</param>
      <param name="sourcePath">Full pathname of the source path to convert.</param>
      <param name="pathFormat">The path format to use.</param>
      <param name="options">Options for controlling the operation. Note that on .NET 3.5 the TrimEnd option has no effect.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetRandomFileName">
      <summary>Returns a random folder name or file name.</summary>
      <returns>A random folder name or file name.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetTempFileName">
      <summary>Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file.</summary>
      <returns>The full path of the temporary file.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetTempPath">
      <summary>Returns the path of the current user's temporary folder.</summary>
      <returns>The path to the temporary folder, ending with a backslash.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Path.GetTempPath(System.String)">
      <summary>[AlphaFS] Returns the path of the current user's temporary folder.</summary>
      <param name="combinePath">The folder name to append to the temporary folder.</param>
      <returns>The path to the temporary folder, combined with <paramref name="combinePath" />.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle">
      <summary>Represents a wrapper class for a handle used by the CM_Connect_Machine/CM_Disconnect_Machine Win32 API functions.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeCmConnectMachineHandle" /> class.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32Info">
      <summary>Contains Shell32 information about a file.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.#ctor(System.String)">
      <summary>Initializes a Shell32Info instance.
            <remarks>Shell32 is limited to MAX_PATH length.</remarks><remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks></summary>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.#ctor(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Initializes a Shell32Info instance.
            <remarks>Shell32 is limited to MAX_PATH length.</remarks><remarks>This constructor does not check if a file exists. This constructor is a placeholder for a string that is used to access the file in subsequent operations.</remarks></summary>
      <param name="fileName">The fully qualified name of the new file, or the relative file name. Do not end the path with the directory separator character.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.GetIcon(Alphaleonis.Win32.Filesystem.Shell32.FileAttributes)">
      <summary>Gets an <see cref="T:System.IntPtr" /> handle to the Shell icon that represents the file.</summary>
      <param name="iconAttributes">Icon size <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.SmallIcon" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.LargeIcon" />. Can also be combined with <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.AddOverlays" /> and others.</param>
      <returns>An <see cref="T:System.IntPtr" /> handle to the Shell icon that represents the file.</returns>
      <remarks>Caller is responsible for destroying this handle with DestroyIcon() when no longer needed.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.GetVerbCommand(System.String)">
      <summary>Gets the Shell command association from the registry.</summary>
      <param name="shellVerb">The shell verb.</param>
      <returns>
              Returns the associated file- or protocol-related Shell command from the registry or <c>string.Empty</c> if no association can be
              found.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.Refresh">
      <summary>Refreshes the state of the object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32Info.ToString">
      <summary>Returns the path as a string.</summary>
      <returns>The path.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.Association">
      <summary>Gets the Shell file or protocol association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.Attributes">
      <summary>The attributes of the file object.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.Command">
      <summary>Gets the Shell command association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.ContentType">
      <summary>Gets the Shell command association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.DdeApplication">
      <summary>Gets the Shell DDE association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.DefaultIcon">
      <summary>Gets the Shell default icon association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.FullPath">
      <summary>Represents the fully qualified path of the file.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.FriendlyAppName">
      <summary>Gets the Shell friendly application name association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.FriendlyDocName">
      <summary>Gets the Shell friendly document name association from the registry.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.Initialized">
      <summary>Reflects the initialization state of the instance.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.Shell32Info.OpenWithAppName">
      <summary>Gets the Shell "Open With" command association from the registry.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.CopyMoveResult">
      <summary>Class for CopyMoveResult that contains the results for the Copy or Move action.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.CopyMoveResult.#ctor(System.String,System.String,System.Boolean,System.Boolean,System.Boolean,System.Int32)">
      <summary>Create a CopyMoveResult class instance for the Copy or Move action.</summary>
      <param name="source">Indicates the source file or directory.</param>
      <param name="destination">Indicates the destination file or directory.</param>
      <param name="isDirectory">Indicates that the file system object is a directory.</param>
      <param name="isMove">Indicates if the action is a Copy or Move action.</param>
      <param name="isCanceled">Indicates if the action was canceled.</param>
      <param name="errorCode">The error code encountered during the Copy or Move action.</param>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.ErrorCode">
      <summary>
              The error code encountered during the Copy or Move action.
            </summary>
      <value>0 (zero) indicates success.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.ErrorMessage">
      <summary>
              The error message from the <see cref="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.ErrorCode" /> that was encountered during the Copy or Move action.
            </summary>
      <value>A message describing the error.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.IsCanceled">
      <summary>Indicates if the Copy or Move action was canceled.</summary>
      <value>
        <see langword="true" /> when the Copy/Move action was canceled. Otherwise <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.IsDirectory">
      <summary>Gets a value indicating whether this instance represents a directory.</summary>
      <value>
        <see langword="true" /> if this instance represents a directory; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.IsMove">
      <summary>
              Indicates if the action is a Copy or Move action.
            </summary>
      <value>
        <see langword="true" /> when action is Move. Otherwise <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.Source">
      <summary>Indicates the source file or directory.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.CopyMoveResult.Destination">
      <summary>Indicates the destination file or directory.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.LinkTargetInfo">
      <summary>Information about the target of a symbolic link or mount point.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.LinkTargetInfo.PrintName">
      <summary>The print name.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.LinkTargetInfo.SubstituteName">
      <summary>The substitute name.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.MoveOptions">
      <summary>Used by MoveFileXxx.Flags that specify how a file or directory is to be moved.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.None">
      <summary>No MoveOptions used, this fails when the file name already exists.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.ReplaceExisting">
      <summary>MOVE_FILE_REPLACE_EXISTSING
            <para>If the destination file name already exists, the function replaces its contents with the contents of the source file.</para><para>This value cannot be used if lpNewFileName or lpExistingFileName names a directory.</para></summary>
      <remark>This value cannot be used if either source or destination names a directory.</remark>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed">
      <summary>MOVE_FILE_COPY_ALLOWED
            <para>If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions.</para></summary>
      <remarks>This value cannot be used with <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.DelayUntilReboot" />.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.DelayUntilReboot">
      <summary>MOVE_FILE_DELAY_UNTIL_REBOOT
            <para>
            The system does not move the file until the operating system is restarted.
            The system moves the file immediately after AUTOCHK is executed, but before creating any paging files.
            </para><para>
            Consequently, this parameter enables the function to delete paging files from previous startups.
            This value can only be used if the process is in the context of a user who belongs to the administrators group or the LocalSystem account.
            </para></summary>
      <remarks>This value cannot be used with <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.CopyAllowed" />.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.WriteThrough">
      <summary>MOVE_FILE_WRITE_THROUGH
            <para>The function does not return until the file has actually been moved on the disk.</para><para>
            Setting this value guarantees that a move performed as a copy and delete operation is flushed to disk before the function returns.
            The flush occurs at the end of the copy operation.
            </para></summary>
      <remarks>This value has no effect if <see cref="F:Alphaleonis.Win32.Filesystem.MoveOptions.DelayUntilReboot" /> is set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.CreateHardlink">
      <summary>MOVE_FILE_CREATE_HARDLINK
            <para>Reserved for future use.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.MoveOptions.FailIfNotTrackable">
      <summary>MOVE_FILE_FAIL_IF_NOT_TRACKABLE
            <para>The function fails if the source file is a link source, but the file cannot be tracked after the move.</para><para>This situation can occur if the destination is a volume formatted with the FAT file system.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.NotAReparsePointException">
      <summary>The file or directory was not a reparse point.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NotAReparsePointException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.NotAReparsePointException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NotAReparsePointException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.NotAReparsePointException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NotAReparsePointException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.NotAReparsePointException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.NotAReparsePointException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.NotAReparsePointException" /> class.</summary>
      <param name="info">The info.</param>
      <param name="context">The context.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32">
      <summary>Provides access to a file system object, using Shell32.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes">
      <summary>Provides information for the IQueryAssociations interface methods, used by Shell32.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.None">
      <summary>None.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitNoRemapClsid">
      <summary>Instructs not to map CLSID values to ProgID values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitByExeName">
      <summary>Identifies the value of the supplied file parameter (3rd parameter of function GetFileAssociation()) as an executable file name.</summary>
      <remarks>If this flag is not set, the root key will be set to the ProgID associated with the .exe key instead of the executable file's ProgID.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitDefaultToStar">
      <summary>Specifies that when an IQueryAssociation method does not find the requested value under the root key, it should attempt to retrieve the comparable value from the * subkey.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitDefaultToFolder">
      <summary>Specifies that when an IQueryAssociation method does not find the requested value under the root key, it should attempt to retrieve the comparable value from the Folder subkey.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.NoUserSettings">
      <summary>Specifies that only HKEY_CLASSES_ROOT should be searched, and that HKEY_CURRENT_USER should be ignored.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.NoTruncate">
      <summary>Specifies that the return string should not be truncated. Instead, return an error value and the required size for the complete string.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.Verify">
      <summary>
            Instructs IQueryAssociations methods to verify that data is accurate.
            This setting allows IQueryAssociations methods to read data from the user's hard disk for verification.
            For example, they can check the friendly name in the registry against the one stored in the .exe file.
            </summary>
      <remarks>Setting this flag typically reduces the efficiency of the method.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.RemapRunDll">
      <summary>
            Instructs IQueryAssociations methods to ignore Rundll.exe and return information about its target.
            Typically IQueryAssociations methods return information about the first .exe or .dll in a command string.
            If a command uses Rundll.exe, setting this flag tells the method to ignore Rundll.exe and return information about its target.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.NoFixUps">
      <summary>Instructs IQueryAssociations methods not to fix errors in the registry, such as the friendly name of a function not matching the one found in the .exe file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.IgnoreBaseClass">
      <summary>Specifies that the BaseClass value should be ignored.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitIgnoreUnknown">
      <summary>Specifies that the "Unknown" ProgID should be ignored; instead, fail.</summary>
      <remarks>Introduced in Windows 7.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.InitFixedProgId">
      <summary>Specifies that the supplied ProgID should be mapped using the system defaults, rather than the current user defaults.</summary>
      <remarks>Introduced in Windows 8.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.IsProtocol">
      <summary>Specifies that the value is a protocol, and should be mapped using the current user defaults.</summary>
      <remarks>Introduced in Windows 8.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.AssociationString">
      <summary>ASSOCSTR enumeration - Used by the AssocQueryString() function to define the type of string that is to be returned.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.None">
      <summary>None.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.Command">
      <summary>A command string associated with a Shell verb.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.Executable">
      <summary>
            An executable from a Shell verb command string.
            For example, this string is found as the (Default) value for a subkey such as HKEY_CLASSES_ROOT\ApplicationName\shell\Open\command.
            If the command uses Rundll.exe, set the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes.RemapRunDll" /> flag in the attributes parameter of IQueryAssociations::GetString to retrieve the target executable.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.FriendlyDocName">
      <summary>The friendly name of a document type.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.FriendlyAppName">
      <summary>The friendly name of an executable file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.NoOpen">
      <summary>Ignore the information associated with the open subkey.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.ShellNewValue">
      <summary>Look under the ShellNew subkey.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DdeCommand">
      <summary>A template for DDE commands.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DdeIfExec">
      <summary>The DDE command to use to create a process.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DdeApplication">
      <summary>The application name in a DDE broadcast.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DdeTopic">
      <summary>The topic name in a DDE broadcast.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.InfoTip">
      <summary>
            Corresponds to the InfoTip registry value.
            Returns an info tip for an item, or list of properties in the form of an IPropertyDescriptionList from which to create an info tip, such as when hovering the cursor over a file name.
            The list of properties can be parsed with PSGetPropertyDescriptionListFromString.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.QuickTip">
      <summary>
            Corresponds to the QuickTip registry value. This is the same as <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.InfoTip" />, except that it always returns a list of property names in the form of an IPropertyDescriptionList.
            The difference between this value and <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.InfoTip" /> is that this returns properties that are safe for any scenario that causes slow property retrieval, such as offline or slow networks.
            Some of the properties returned from <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.InfoTip" /> might not be appropriate for slow property retrieval scenarios.
            The list of properties can be parsed with PSGetPropertyDescriptionListFromString.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.TileInfo">
      <summary>
            Corresponds to the TileInfo registry value. Contains a list of properties to be displayed for a particular file type in a Windows Explorer window that is in tile view.
            This is the same as <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.InfoTip" />, but, like <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.QuickTip" />, it also returns a list of property names in the form of an IPropertyDescriptionList.
            The list of properties can be parsed with PSGetPropertyDescriptionListFromString.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.ContentType">
      <summary>
            Describes a general type of MIME file association, such as image and bmp,
            so that applications can make general assumptions about a specific file type.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DefaultIcon">
      <summary>
            Returns the path to the icon resources to use by default for this association.
            Positive numbers indicate an index into the dll's resource table, while negative numbers indicate a resource ID.
            An example of the syntax for the resource is "c:\myfolder\myfile.dll,-1".
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.ShellExtension">
      <summary>
            For an object that has a Shell extension associated with it,
            you can use this to retrieve the CLSID of that Shell extension object by passing a string representation
            of the IID of the interface you want to retrieve as the pwszExtra parameter of IQueryAssociations::GetString.
            For example, if you want to retrieve a handler that implements the IExtractImage interface,
            you would specify "{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}", which is the IID of IExtractImage.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DropTarget">
      <summary>
            For a verb invoked through COM and the IDropTarget interface, you can use this flag to retrieve the IDropTarget object's CLSID.
            This CLSID is registered in the DropTarget subkey.
            The verb is specified in the supplied file parameter in the call to IQueryAssociations::GetString.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.DelegateExecute">
      <summary>
            For a verb invoked through COM and the IExecuteCommand interface, you can use this flag to retrieve the IExecuteCommand object's CLSID.
            This CLSID is registered in the verb's command subkey as the DelegateExecute entry.
            The verb is specified in the supplied file parameter in the call to IQueryAssociations::GetString.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.SupportedUriProtocols">
      <summary>(No description available on MSDN)</summary>
      <remarks>Introduced in Windows 8.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.AssociationString.Max">
      <summary>The maximum defined <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.AssociationString" /> value, used for validation purposes.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes">
      <summary>Shell32 FileAttributes structure, used to retrieve the different types of a file system object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.LargeIcon">
      <summary>0x000000000 - Get file system object large icon.</summary>
      <remarks>The <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> flag must also be set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.SmallIcon">
      <summary>0x000000001 - Get file system object small icon.</summary>
      <remarks>The <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> flag must also be set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.OpenIcon">
      <summary>0x000000002 - Get file system object open icon.</summary>
      <remarks>A container object displays an open icon to indicate that the container is open.</remarks>
      <remarks>The <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> and/or <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.SysIconIndex" /> flag must also be set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.ShellIconSize">
      <summary>0x000000004 - Get file system object Shell-sized icon.</summary>
      <remarks>If this attribute is not specified the function sizes the icon according to the system metric values.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Pidl">
      <summary>0x000000008 - Get file system object by its PIDL.</summary>
      <remarks>Indicate that the given file contains the address of an ITEMIDLIST structure rather than a path name.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.UseFileAttributes">
      <summary>0x000000010 - Indicates that the given file should not be accessed. Rather, it should act as if the given file exists and use the supplied attributes.</summary>
      <remarks>This flag cannot be combined with the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Attributes" />, <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.ExeType" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Pidl" /> attributes.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.AddOverlays">
      <summary>0x000000020 - Apply the appropriate overlays to the file's icon.</summary>
      <remarks>The <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> flag must also be set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.OverlayIndex">
      <summary>0x000000040 - Returns the index of the overlay icon.</summary>
      <remarks>The value of the overlay index is returned in the upper eight bits of the iIcon member of the structure specified by psfi.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon">
      <summary>0x000000100 - Retrieve the handle to the icon that represents the file and the index of the icon within the system image list. The handle is copied to the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.IconHandle" /> member of the structure, and the index is copied to the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.IconIndex" /> member.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.DisplayName">
      <summary>0x000000200 - Retrieve the display name for the file. The name is copied to the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.DisplayName" /> member of the structure.</summary>
      <remarks>The returned display name uses the long file name, if there is one, rather than the 8.3 form of the file name.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.TypeName">
      <summary>0x000000400 - Retrieve the string that describes the file's type.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Attributes">
      <summary>0x000000800 - Retrieve the item attributes. The attributes are copied to the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.Attributes" /> member of the structure.</summary>
      <remarks>Will touch every file, degrading performance.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.IconLocation">
      <summary>0x000001000 - Retrieve the name of the file that contains the icon representing the file specified by pszPath. The name of the file containing the icon is copied to the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.DisplayName" /> member of the structure.  The icon's index is copied to that structure's <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.IconIndex" /> member.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.ExeType">
      <summary>0x000002000 - Retrieve the type of the executable file if pszPath identifies an executable file.</summary>
      <remarks>This flag cannot be specified with any other attributes.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.SysIconIndex">
      <summary>0x000004000 - Retrieve the index of a system image list icon.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.LinkOverlay">
      <summary>0x000008000 - Add the link overlay to the file's icon.</summary>
      <remarks>The <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> flag must also be set.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Selected">
      <summary>0x000010000 - Blend the file's icon with the system highlight color.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.AttributesSpecified">
      <summary>0x000020000 - Modify <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Attributes" /> to indicate that <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.Attributes" /> contains specific attributes that are desired.</summary>
      <remarks>This flag cannot be specified with the <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.Icon" /> attribute. Will touch every file, degrading performance.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.FileInfo">
      <summary>SHFILEINFO structure, contains information about a file system object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.IconHandle">
      <summary>A handle to the icon that represents the file.</summary>
      <remarks>Caller is responsible for destroying this handle with DestroyIcon() when no longer needed.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.IconIndex">
      <summary>The index of the icon image within the system image list.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.Attributes">
      <summary>An array of values that indicates the attributes of the file object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.DisplayName">
      <summary>The name of the file as it appears in the Windows Shell, or the path and file name of the file that contains the icon representing the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.FileInfo.TypeName">
      <summary>The type of file.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf">
      <summary>SFGAO - Attributes that can be retrieved from a file system object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.None">
      <summary>0x00000000 - None.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.CanCopy">
      <summary>0x00000001 - The specified items can be copied.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.CanMove">
      <summary>0x00000002 - The specified items can be moved.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.CanLink">
      <summary>0x00000004 - Shortcuts can be created for the specified items.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Storage">
      <summary>0x00000008 - The specified items can be bound to an IStorage object through IShellFolder::BindToObject. For more information about namespace manipulation capabilities, see IStorage.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.CanRename">
      <summary>0x00000010 - The specified items can be renamed. Note that this value is essentially a suggestion; not all namespace clients allow items to be renamed. However, those that do must have this attribute set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.CanDelete">
      <summary>0x00000020 - The specified items can be deleted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.HasPropSheet">
      <summary>0x00000040 - The specified items have property sheets.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.DropTarget">
      <summary>0x00000100 - The specified items are drop targets.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.System">
      <summary>0x00001000 - The specified items are system items.</summary>
      <remarks>Windows 7 and later.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Encrypted">
      <summary>0x00002000 - The specified items are encrypted and might require special presentation.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.IsSlow">
      <summary>0x00004000 - Accessing the item (through IStream or other storage interfaces) is expected to be a slow operation.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Ghosted">
      <summary>0x00008000 - The specified items are shown as dimmed and unavailable to the user.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Link">
      <summary>0x00010000 - The specified items are shortcuts.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Share">
      <summary>0x00020000 - The specified objects are shared.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.ReadOnly">
      <summary>0x00040000 - The specified items are read-only. In the case of folders, this means that new items cannot be created in those folders.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Hidden">
      <summary>0x00080000 - The item is hidden and should not be displayed unless the Show hidden files and folders option is enabled in Folder Settings.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.NonEnumerated">
      <summary>0x00100000 - The items are nonenumerated items and should be hidden. They are not returned through an enumerator such as that created by the IShellFolder::EnumObjects method.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.NewContent">
      <summary>0x00200000 - The items contain new content, as defined by the particular application.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Stream">
      <summary>0x00400000 - Indicates that the item has a stream associated with it.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.StorageAncestor">
      <summary>0x00800000 - Children of this item are accessible through IStream or IStorage.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Validate">
      <summary>0x01000000 - When specified as input, instructs the folder to validate that the items contained in a folder or Shell item array exist.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Removable">
      <summary>0x02000000 - The specified items are on removable media or are themselves removable devices.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Compressed">
      <summary>0x04000000 - The specified items are compressed.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Browsable">
      <summary>0x08000000 - The specified items can be hosted inside a web browser or Windows Explorer frame.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.FileSysAncestor">
      <summary>0x10000000 - The specified folders are either file system folders or contain at least one descendant (child, grandchild, or later) that is a file system folder.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.Folder">
      <summary>0x20000000 - The specified items are folders.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.FileSystem">
      <summary>0x40000000 - The specified folders or files are part of the file system (that is, they are files, directories, or root directories).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.GetAttributesOf.HasSubFolder">
      <summary>0x80000000 - The specified folders have subfolders.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Shell32.UrlType">
      <summary>Used by method UrlIs() to define a URL type.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsUrl">
      <summary>Is the URL valid?</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsOpaque">
      <summary>Is the URL opaque?</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsNoHistory">
      <summary>Is the URL a URL that is not typically tracked in navigation history?</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsFileUrl">
      <summary>Is the URL a file URL?</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsAppliable">
      <summary>Attempt to determine a valid scheme for the URL.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsDirectory">
      <summary>Does the URL string end with a directory?</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsHasQuery">
      <summary>Does the URL have an appended query string?</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileAssociation(System.String)">
      <summary>Gets the file or protocol that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related string from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileContentType(System.String)">
      <summary>Gets the content-type that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related content-type from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileDefaultIcon(System.String)">
      <summary>Gets the default icon that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related default icon from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileFriendlyAppName(System.String)">
      <summary>Gets the friendly application name that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related friendly application name from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileFriendlyDocName(System.String)">
      <summary>Gets the friendly document name that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related friendly document name from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileIcon(System.String,Alphaleonis.Win32.Filesystem.Shell32.FileAttributes)">
      <summary>Gets an <see cref="T:System.IntPtr" /> handle to the Shell icon that represents the file.</summary>
      <remarks>Caller is responsible for destroying this handle with DestroyIcon() when no longer needed.</remarks>
      <param name="filePath">
              The path to the file system object which should not exceed maximum path length. Both absolute and
              relative paths are valid.
            </param>
      <param name="iconAttributes">
              Icon size <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.SmallIcon" /> or <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.LargeIcon" />. Can also be combined
              with <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes.AddOverlays" /> and others.
            </param>
      <returns>An <see cref="T:System.IntPtr" /> handle to the Shell icon that represents the file, or IntPtr.Zero on failure.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileInfo(System.String,System.IO.FileAttributes,Alphaleonis.Win32.Filesystem.Shell32.FileAttributes,System.Boolean)">
      <summary>Unified method GetFileInfoInternal() to retrieve information about an object in the file system,
            </summary>
      <para>such as a file, folder, directory, or drive root.</para>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.FileInfo" /> struct instance.</returns>
      <remarks>
        <para>You should call this function from a background thread.</para>
        <para>Failure to do so could cause the UI to stop responding.</para>
        <para>Unicode path are supported.</para>
      </remarks>
      <param name="filePath">The path to the file system object which should not exceed the maximum path length. Both absolute and relative paths are valid.</param>
      <param name="attributes">A <see cref="T:System.IO.FileAttributes" /> attribute.</param>
      <param name="fileAttributes">One ore more <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes" /> attributes.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as ACLs protected directories or non-accessible reparse points.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetShell32Info(System.String)">
      <summary>Retrieves an instance of <see cref="T:Alphaleonis.Win32.Filesystem.Shell32Info" /> containing information about the specified file.</summary>
      <param name="path">A path to the file.</param>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.Shell32Info" /> class instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetShell32Info(System.String,Alphaleonis.Win32.Filesystem.PathFormat)">
      <summary>Retrieves an instance of <see cref="T:Alphaleonis.Win32.Filesystem.Shell32Info" /> containing information about the specified file.</summary>
      <param name="path">A path to the file.</param>
      <param name="pathFormat">Indicates the format of the path parameter(s).</param>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.Shell32Info" /> class instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileOpenWithAppName(System.String)">
      <summary>Gets the "Open With" command that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related "Open With" command from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileVerbCommand(System.String)">
      <summary>Gets the Shell command that is associated with <paramref name="path" /> from the registry.</summary>
      <param name="path">A path to the file.</param>
      <returns>Returns the associated file- or protocol-related Shell command from the registry or <c>string.Empty</c> if no association can be found.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.PathCreateFromUrl(System.String)">
      <summary>Converts a file URL to a Microsoft MS-DOS path.</summary>
      <param name="urlPath">The file URL.</param>
      <returns>
        <para>The Microsoft MS-DOS path. If no path can be created, <c>string.Empty</c> is returned.</para>
        <para>If <paramref name="urlPath" /> is <see langword="null" />, <see langword="null" /> will also be returned.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.PathCreateFromUrlAlloc(System.String)">
      <summary>Creates a path from a file URL.</summary>
      <param name="urlPath">The URL.</param>
      <returns>
        <para>The file path. If no path can be created, <c>string.Empty</c> is returned.</para>
        <para>If <paramref name="urlPath" /> is <see langword="null" />, <see langword="null" /> will also be returned.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.PathFileExists(System.String)">
      <summary>Determines whether a path to a file system object such as a file or folder is valid.</summary>
      <param name="path">The full path of maximum length the maximum path length to the object to verify.</param>
      <returns>
        <see langword="true" /> if the file exists; <see langword="false" /> otherwise</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.UrlIs(System.String,Alphaleonis.Win32.Filesystem.Shell32.UrlType)">
      <summary>Tests whether a URL is a specified type.</summary>
      <param name="url">The URL.</param>
      <param name="urlType">
      </param>
      <returns>
            For all but one of the URL types, UrlIs returns <see langword="true" /> if the URL is the specified type, or <see langword="false" /> otherwise.
            If UrlIs is set to <see cref="F:Alphaleonis.Win32.Filesystem.Shell32.UrlType.IsAppliable" />, UrlIs will attempt to determine the URL scheme.
            If the function is able to determine a scheme, it returns <see langword="true" />, or <see langword="false" /> otherwise.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.UrlCreateFromPath(System.String)">
      <summary>Converts a Microsoft MS-DOS path to a canonicalized URL.</summary>
      <param name="path">The full MS-DOS path of maximum length <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.MaxPath" />.</param>
      <returns>
        <para>The URL. If no URL can be created <c>string.Empty</c> is returned.</para>
        <para>If <paramref name="path" /> is <see langword="null" />, <see langword="null" /> will also be returned.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.UrlIsFileUrl(System.String)">
      <summary>Tests a URL to determine if it is a file URL.</summary>
      <param name="url">The URL.</param>
      <returns>Returns <see langword="true" /> if the URL is a file URL, or <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.UrlIsNoHistory(System.String)">
      <summary>Returns whether a URL is a URL that browsers typically do not include in navigation history.</summary>
      <param name="url">The URL.</param>
      <returns>Returns <see langword="true" /> if the URL is a URL that is not included in navigation history, or <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.UrlIsOpaque(System.String)">
      <summary>Returns whether a URL is opaque.</summary>
      <param name="url">The URL.</param>
      <returns>Returns <see langword="true" /> if the URL is opaque, or <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileAssociationInternal(System.String,Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes,Alphaleonis.Win32.Filesystem.Shell32.AssociationString)">
      <summary>Unified method GetFileAssociationInternal() to search for and retrieves a file or protocol association-related string from the registry.</summary>
      <param name="path">A path to a file.</param>
      <param name="attributes">One or more <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.AssociationAttributes" /> attributes. Only one "InitXXX" attribute can be used.</param>
      <param name="associationType">A <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.AssociationString" /> attribute.</param>
      <returns>Returns the associated file- or protocol-related string from the registry or <c>string.Empty</c> if no association can be found.</returns>
      <exception cref="T:System.ArgumentNullException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Shell32.GetFileInfoInternal(System.String,System.IO.FileAttributes,Alphaleonis.Win32.Filesystem.Shell32.FileAttributes,System.Boolean,System.Boolean)">
      <summary>Unified method GetFileInfoInternal() to retrieve information about an object in the file system,
            </summary>
      <para>such as a file, folder, directory, or drive root.</para>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.FileInfo" /> struct instance.</returns>
      <remarks>
        <para>You should call this function from a background thread.</para>
        <para>Failure to do so could cause the UI to stop responding.</para>
        <para>Unicode path are not supported.</para>
      </remarks>
      <param name="path">The path to the file system object which should not exceed the maximum path length in length. Both absolute and relative paths are valid.</param>
      <param name="attributes">A <see cref="T:System.IO.FileAttributes" /> attribute.</param>
      <param name="fileAttributes">A <see cref="T:Alphaleonis.Win32.Filesystem.Shell32.FileAttributes" /> attribute.</param>
      <param name="checkInvalidPathChars">Checks that the path contains only valid path-characters.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as ACLs protected directories or non-accessible reparse points.</para>
      </param>
    </member>
    <member name="T:Alphaleonis.Win32.Network.DfsInfo">
      <summary>Contains information about a Distributed File System (DFS) root or link. This class cannot be inherited.
            <para>This structure contains the name, status, GUID, time-out, number of targets, and information about each target of the root or link.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsInfo.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> class which acts as a wrapper for a DFS root or link target.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsInfo.#ctor(Alphaleonis.Win32.Network.NativeMethods.DfsInfo4)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> class, which acts as a wrapper for a DFS root or link target.</summary>
      <param name="structure">An initialized <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4" /> instance.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsInfo.ToString">
      <summary>Returns the Universal Naming Convention (UNC) path of the DFS root or link.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.DirectoryInfo">
      <summary>The <see cref="P:Alphaleonis.Win32.Network.DfsInfo.DirectoryInfo" /> instance of the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.Comment">
      <summary>The comment of the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.EntryPath">
      <summary>The Universal Naming Convention (UNC) path of the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.Guid">
      <summary>Specifies the GUID of the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.StorageInfoCollection">
      <summary>The collection of DFS targets of the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.State">
      <summary>An <see cref="T:Alphaleonis.Win32.Network.DfsVolumeStates" /> enum that specifies a set of bit flags that describe the DFS root or link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsInfo.Timeout">
      <summary>Specifies the time-out, in seconds, of the DFS root or link.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.DfsStorageInfo">
      <summary>Contains information about a DFS root or link target in a DFS namespace or from the cache maintained by the DFS client.
            <para>This class cannot be inherited.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsStorageInfo.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Network.DfsStorageInfo" /> class, which acts as a wrapper for a DFS root or link target.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsStorageInfo.#ctor(Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Network.DfsStorageInfo" /> class, which acts as a wrapper for a DFS root or link target.</summary>
      <param name="structure">An initialized <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo" /> instance.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DfsStorageInfo.ToString">
      <summary>The share name of the DFS root target or link target.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsStorageInfo.ServerName">
      <summary>The server name of the DFS root target or link target.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsStorageInfo.ShareName">
      <summary>The share name of the DFS root target or link target.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DfsStorageInfo.State">
      <summary>An <see cref="T:Alphaleonis.Win32.Network.DfsStorageStates" /> enum of the DFS root target or link target.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.ShareInfoLevel">
      <summary>The <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> information level.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareInfoLevel.None">
      <summary>No specific information level used.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareInfoLevel.Info1">
      <summary>Contains information about the shared resource, including the name and type of the resource, and a comment associated with the resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareInfoLevel.Info2">
      <summary>Contains information about the shared resource, including the name, type, and permissions of the resource, comments associated with the resource,
            the maximum number of concurrent connections, the number of current connections, the local path for the resource, and a password for the current connection.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareInfoLevel.Info503">
      <summary>Contains information about the shared resource, including the server name, name of the resource, type, and permissions,
            the number of connections, and other pertinent information.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareInfoLevel.Info1005">
      <summary>Contains information about the shared resource.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage">
      <summary>NETRESOURCE structure.
              <para>ResourceUsage: A set of bit flags describing how the resource can be used.</para></summary>
      <remarks>Note that this member can be specified only if the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceScope" /> member is equal to <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.GlobalNet" />.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Connectable">
      <summary>RESOURCEUSAGE_CONNECTABLE
            <para>The resource is a connectable resource.</para><para>The name pointed to by the lpRemoteName member can be passed to the WNetAddConnection function to make a network connection.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Container">
      <summary>RESOURCEUSAGE_CONTAINER
            <para>The resource is a container resource.</para><para>The name pointed to by the lpRemoteName member can be passed to the WNetAddConnection function to make a network connection.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.NoLocalDevice">
      <summary>RESOURCEUSAGE_NOLOCALDEVICE
            <para>The resource is not a local device.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Sibling">
      <summary>RESOURCEUSAGE_SIBLING
            <para>The resource is a sibling.</para><para>This value is not used by Windows.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Attached">
      <summary>RESOURCEUSAGE_ATTACHED
            <para>The resource must be attached.</para><para>This value specifies that a function to enumerate this resource should fail</para><para>if the caller is not authenticated, even if the network permits enumeration without authentication.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.All">
      <summary>RESOURCEUSAGE_ALL
            <para>Setting this value is equivalent to setting: <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Connectable" />, <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Container" />, and <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage.Attached" />.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ResourceType">
      <summary>NETRESOURCE structure.
            <para>ResourceType: The type of resource.</para><remarks><para>If a network provider cannot distinguish between</para><para>print and disk resources, it can enumerate all resources.</para></remarks></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceType.Any">
      <summary>RESOURCETYPE_ANY
            <para>ResourceType: All resources.</para><remarks><para>If a network provider cannot distinguish between print and disk resources, it can enumerate all resources.</para><para>This value cannot be combined with <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceType.Disk" /> or <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceType.Print" />.</para></remarks></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceType.Disk">
      <summary>RESOURCETYPE_DISK
            <para>All disk resources.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceType.Print">
      <summary>RESOURCETYPE_PRINT
            <para>All print resources.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ResourceScope">
      <summary>NETRESOURCE structure.
            <para>ResourceScope: The scope of the enumeration.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Connected">
      <summary>RESOURCE_CONNECTED
            <para>Enumerate all currently connected resources.</para><para>The function ignores the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage" /> parameter.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.GlobalNet">
      <summary>RESOURCE_GLOBALNET
            <para>Enumerate all resources on the network.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Remembered">
      <summary>RESOURCE_REMEMBERED
            <para>Enumerate all remembered (persistent) connections.</para><para>The function ignores the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage" /> parameter.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Recent">
      <summary>RESOURCE_RECENT</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Context">
      <summary>RESOURCE_CONTEXT
            <para>Enumerate only resources in the network context of the caller. Specify this value for a Network Neighborhood view.</para><para>The function ignores the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceUsage" /> parameter.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType">
      <summary>The display options for the network object in a network browsing user interface.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Generic">
      <summary>RESOURCEDISPLAYTYPE_GENERIC
            <para>The method used to display the object does not matter.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Domain">
      <summary>RESOURCEDISPLAYTYPE_DOMAIN
            <para>The object should be displayed as a domain.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Server">
      <summary>RESOURCEDISPLAYTYPE_SERVER
            <para>The object should be displayed as a server.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Share">
      <summary>RESOURCEDISPLAYTYPE_SHARE
            <para>The object should be displayed as a share</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.File">
      <summary>RESOURCEDISPLAYTYPE_FILE
            <para>The object should be displayed as a file.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Group">
      <summary>RESOURCEDISPLAYTYPE_GROUP
            <para>The object should be displayed as a group.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Network">
      <summary>RESOURCEDISPLAYTYPE_NETWORK
            <para>The object should be displayed as a network.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Root">
      <summary>RESOURCEDISPLAYTYPE_ROOT
            <para>The object should be displayed as a logical root for the entire network.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.ShareAdmin">
      <summary>RESOURCEDISPLAYTYPE_SHAREADMIN
            <para>The object should be displayed as a administrative share.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Directory">
      <summary>RESOURCEDISPLAYTYPE_DIRECTORY
            <para>The object should be displayed as a directory.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.Tree">
      <summary>RESOURCEDISPLAYTYPE_TREE
            <para>The object should be displayed as a tree.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType.NdsContainer">
      <summary>RESOURCEDISPLAYTYPE_NDSCONTAINER
            <para>The object should be displayed as a Netware Directory Service container.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.Connect">
      <summary>Used by function WNetUseConnection(); Set of bit flags describing the connection. This parameter can be any combination of the following values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.None">
      <summary>No Connect options are used.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.UpdateProfile">
      <summary>This flag instructs the operating system to store the network resource connection. If this bit flag is set, the operating system automatically attempts to restore the connection when the user logs on. The system remembers only successful connections that redirect local devices. It does not remember connections that are unsuccessful or deviceless connections.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.Interactive">
      <summary>If this flag is set, the operating system may interact with the user for authentication purposes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.Prompt">
      <summary>This flag instructs the system not to use any default settings for user names or passwords without offering the user the opportunity to supply an alternative. This flag is ignored unless <see cref="F:Alphaleonis.Win32.Network.NativeMethods.Connect.Interactive" /> is also set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.Redirect">
      <summary>This flag forces the redirection of a local device when making the connection.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.Connect.SaveCredentialManager">
      <summary>If this flag is set, and the operating system prompts for a credential, the credential should be saved by the credential manager. If the credential manager is disabled for the caller's logon session, or if the network provider does not support saving credentials, this flag is ignored. This flag is also ignored unless you set the "CommandLine" flag.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors">
      <summary>Contains the name and type (domain-based or stand-alone) of a DFS namespace.</summary>
      <remarks>Minimum supported client: Windows XP with SP1 [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors.Unknown">
      <summary>
      </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors.Standalone">
      <summary>DFS_VOLUME_FLAVOR_STANDALONE
            <para>Specifies a stand-alone DFS namespace.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors.AdBlob">
      <summary>DFS_VOLUME_FLAVOR_AD_BLOB
            <para>Specifies a domain-based DFS namespace.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors.All">
      <summary>DFS_VOLUME_FLAVORS bitmask (0x00000300)
            <para>Used to extract the DFS namespace flavor.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.NetResource">
      <summary>The NETRESOURCE struct contains information about a network resource.
            <para> </para><para>The NETRESOURCE structure is returned during an enumeration of network resources.</para><para>The NETRESOURCE structure is also specified when making or querying</para><para>a network connection with calls to various Windows Networking functions.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Scope">
      <summary>
              The scope of the enumeration.
              <para> </para><para>This member can be one of the following <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceScope" /> values.</para></summary>
      <value>The scope.</value>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Type">
      <summary>The type of resource.
            <para> </para><para>This member can be one of the following <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceType" /> values.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.DisplayType">
      <summary>The display options for the network object in a network browsing user interface.
            <para> </para><para>This member can be one of the following <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ResourceDisplayType" /> values.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Usage">
      <summary>A set of bit flags describing how the resource can be used.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.LocalName">
      <summary>If the <see cref="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Scope" /> member is equal to <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Connected" /> or <see cref="F:Alphaleonis.Win32.Network.NativeMethods.ResourceScope.Remembered" />,
            <para>this member is a pointer to a <see langword="null" />-terminated character string that specifies the name of a local device.</para><para>This member is <see langword="null" /> if the connection does not use a device.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.RemoteName">
      <summary>If the entry is a network resource, this member is a <see cref="T:System.String" /><para>that specifies the remote network name.</para><para> </para><para>If the entry is a current or persistent connection, <see cref="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.RemoteName" /> member points to </para><para>the network name associated with the name pointed to by the <see cref="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.LocalName" /> member.</para><para> </para><para>The <see cref="T:System.String" /> can be <see cref="F:Alphaleonis.Win32.Filesystem.NativeMethods.MaxPath" /> characters</para><para>in length, and it must follow the network provider's naming conventions.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Comment">
      <summary>A <see cref="T:System.String" /> that contains a comment supplied by the network provider.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.NetResource.Provider">
      <summary>A <see cref="T:System.String" /> that contains the name of the provider that owns the resource. 
            <para> </para><para>This member can be <see langword="null" /> if the provider name is unknown.</para><para>To retrieve the provider name, you can call the WNetGetProviderName function.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.FileInfo3">
      <summary>FILE_INFO_3 - Contains the identifier and other pertinent information about files, devices, and pipes.</summary>
      <remarks>This structure is only for use with the NetFileEnum function.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.FileInfo3.Id">
      <summary>The identification number assigned to the resource when it is opened.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.FileInfo3.Permissions">
      <summary>The access permissions associated with the opening application. This member can be one or more of the following <see cref="T:Alphaleonis.Win32.Network.AccessPermissions" /> values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.FileInfo3.TotalLocks">
      <summary>The number of file locks on the file, device, or pipe.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.FileInfo3.PathName">
      <summary>The path of the opened resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.FileInfo3.UserName">
      <summary>Specifies which user (on servers that have user-level security) or which computer (on servers that have share-level security) opened the resource.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.DfsInfo200">
      <summary>DFS_INFO_200 - Contains the name of a domain-based Distributed File System (DFS) namespace.</summary>
      <remarks>This structure is only for use with the NetDfsEnum, NetDfsGetClientInfo, and NetDfsGetInfo functions.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo200.FtDfsName">
      <summary>The name of a domain-based DFS namespace.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.DfsInfo300">
      <summary>DFS_INFO_300 - Contains the name and type (domain-based or stand-alone) of a DFS namespace.</summary>
      <remarks>The DFS functions use the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsInfo300" /> structure to enumerate DFS namespaces hosted on a machine.</remarks>
      <remarks>Minimum supported client: Windows XP with SP1 [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo300.Flags">
      <summary>Value that specifies the type of the DFS namespace. This member can be one of the <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsNamespaceFlavors" /> values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo300.DfsName">
      <summary>The name of a DFS namespace.
            This member can have one of the following two formats:
            The first format is: \ServerName\DfsName
            where ServerName is the name of the root target server that hosts the stand-alone DFS namespace and DfsName is the name of the DFS namespace.
            The second format is:
            \DomainName\DomDfsName
            where DomainName is the name of the domain that hosts the domain-based DFS namespace and DomDfsname is the name of the DFS namespace.
            </summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4">
      <summary>DFS_INFO_4
            <para>Contains information about a Distributed File System (DFS) root or link.</para><para>This structure contains the name, status, GUID, time-out, number of targets, and information about each target of the root or link.</para></summary>
      <remarks>A DFS_INFO_4 structure contains one or more <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo" /> structures, one for each DFS target.</remarks>
      <remarks>This structure is only for use with the NetDfsEnum, NetDfsGetClientInfo, and NetDfsGetInfo functions.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.EntryPath">
      <summary>The Universal Naming Convention (UNC) path of a DFS root or link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.Comment">
      <summary>The comment associated with the DFS root or link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.State">
      <summary>A <see cref="T:Alphaleonis.Win32.Network.DfsVolumeStates" /> that specifies a set of bit flags that describe the DFS root or link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.Timeout">
      <summary>Specifies the time-out, in seconds, of the DFS root or link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.Guid">
      <summary>Specifies the GUID of the DFS root or link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.NumberOfStorages">
      <summary>Specifies the number of DFS targets.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsInfo4.Storage">
      <summary>An array of <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo" /> structures.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo">
      <summary>DFS_STORAGE_INFO - Contains information about a DFS root or link target in a DFS namespace or from the cache maintained by the DFS client.</summary>
      <remarks>The <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> structure contains one or more <see cref="T:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo" /> structures, one for each DFS target.
            Only one target can be marked as the active target. It is possible that no targets will be marked active.
            </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo.State">
      <summary>State of the target.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo.ServerName">
      <summary>The DFS root target or link target server name.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.DfsStorageInfo.ShareName">
      <summary>The DFS root target or link target share name.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo">
      <summary>REMOTE_NAME_INFO - The RemoteNameInfo structure contains path and name information for a network resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo.UniversalName">
      <summary>Identifies a network resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo.ConnectionName">
      <summary>The name of a network connection.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo.RemainingPath">
      <summary>The remaing path.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1">
      <summary>CONNECTION_INFO_1 - Contains the identification number of a connection, number of open files, connection time, number of users on the connection, and the type of connection.</summary>
      <remarks>MSDN "CONNECTION_INFO_1 structure": http://msdn.microsoft.com/en-us/library/windows/desktop/bb525373%28v=vs.85%29.aspx </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.Id">
      <summary>Specifies a connection identification number.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.ShareType">
      <summary>A combination of values that specify the type of connection made from the local device name to the shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.TotalOpenFiles">
      <summary>Specifies the number of files currently open as a result of the connection.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.TotalUsers">
      <summary>Specifies the number of users on the connection.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.ConnectedSeconds">
      <summary>Specifies the number of seconds that the connection has been established.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.UserName">
      <summary>If the server sharing the resource is running with user-level security, the UserName member describes which user made the connection. If the server is running with share-level security, coni1_username describes which computer (computername) made the connection.</summary>
      <remarks>Note that Windows does not support share-level security.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1.NetName">
      <summary>String that specifies either the share name of the server's shared resource or the computername of the client. The value of this member depends on which name was specified as the qualifier parameter to the NetConnectionEnum function.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1005">
      <summary>SHARE_INFO_1005
            <para>Contains information about the shared resource.</para></summary>
      <remarks>This structure can be retrieved by calling the NetShareGetInfo function.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1005.ShareResourceType">
      <summary>A bitmask of flags that specify information about the shared resource.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1">
      <summary>SHARE_INFO_1
            <para>Contains information about the shared resource, including the name and type of the resource, and a comment associated with the resource.</para></summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1.NetName">
      <summary>The name of a shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1.ShareType">
      <summary>The type of share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo1.Remark">
      <summary>An optional comment about the shared resource.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2">
      <summary>SHARE_INFO_2
            Contains information about the shared resource, including the name, type, and permissions of the resource, comments associated with the resource,
            the maximum number of concurrent connections, the number of current connections, the local path for the resource, and a password for the current connection.
            </summary>
      <remarks>Share information, NT, level 2, requires admin rights to work.</remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.NetName">
      <summary>The name of a shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.ShareType">
      <summary>The type of share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.Remark">
      <summary>An optional comment about the shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.Permissions">
      <summary>The shared resource's permissions for servers running with share-level security.</summary>
      <remarks>Note that Windows does not support share-level security. This member is ignored on a server running user-level security.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.MaxUses">
      <summary>The maximum number of concurrent connections that the shared resource can accommodate.</summary>
      <remarks>The number of connections is unlimited if the value specified in this member is –1.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.CurrentUses">
      <summary>The number of current connections to the resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.Path">
      <summary>The local path for the shared resource.</summary>
      <remarks>For disks, this member is the path being shared. For print queues, this member is the name of the print queue being shared.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2.Password">
      <summary>The share's password (when the server is running with share-level security).</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503">
      <summary>SHARE_INFO_503
            <para>Contains information about the shared resource, including the server name, name of the resource, type, and permissions,
            the number of connections, and other pertinent information.</para></summary>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.NetName">
      <summary>The name of a shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.ShareType">
      <summary>The type of share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.Remark">
      <summary>An optional comment about the shared resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.Permissions">
      <summary>The shared resource's permissions for servers running with share-level security.</summary>
      <remarks>Note that Windows does not support share-level security. This member is ignored on a server running user-level security.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.MaxUses">
      <summary>The maximum number of concurrent connections that the shared resource can accommodate.</summary>
      <remarks>The number of connections is unlimited if the value specified in this member is –1.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.CurrentUses">
      <summary>The number of current connections to the resource.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.Path">
      <summary>The local path for the shared resource.</summary>
      <remarks>For disks, this member is the path being shared. For print queues, this member is the name of the print queue being shared.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.Password">
      <summary>The share's password (when the server is running with share-level security).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.ServerName">
      <summary>The DNS or NetBIOS name of the remote server on which the shared resource resides.</summary>
      <remarks>A value of "*" indicates no configured server name.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.Reserved">
      <summary>Reserved; must be zero.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503.SecurityDescriptor">
      <summary>Specifies the SECURITY_DESCRIPTOR associated with this share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.NativeMethods.MaxPreferredLength">
      <summary>A constant of type DWORD that is set to –1. This value is valid as an input parameter to any method in section 3.1.4 that takes a PreferedMaximumLength parameter. When specified as an input parameter, this value indicates that the method MUST allocate as much space as the data requires.</summary>
      <remarks>MSDN "2.2.2.2 MAX_PREFERRED_LENGTH": http://msdn.microsoft.com/en-us/library/cc247107.aspx </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.WNetCancelConnection(System.String,Alphaleonis.Win32.Network.NativeMethods.Connect,System.Boolean)">
      <summary>The WNetCancelConnection function cancels an existing network connection. You can also call the function to remove remembered network connections that are not currently connected.</summary>
      <returns>
            If the function succeeds, the return value is <see cref="F:Alphaleonis.Win32.Win32Errors.NO_ERROR" />
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps only]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.WNetGetUniversalName(System.String,System.UInt32,System.IntPtr,System.UInt32@)">
      <summary>The WNetGetUniversalName function takes a drive-based path for a network resource and returns an information structure that contains a more universal form of the name.</summary>
      <returns>
            If the function succeeds, the return value is <see cref="F:Alphaleonis.Win32.Win32Errors.NO_ERROR" />
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps only]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.WNetUseConnection(System.IntPtr,Alphaleonis.Win32.Network.NativeMethods.NetResource@,System.String,System.String,Alphaleonis.Win32.Network.NativeMethods.Connect,System.Text.StringBuilder,System.UInt32@,System.UInt32@)">
      <summary>The WNetUseConnection function creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>
            If the function succeeds, the return value is <see cref="F:Alphaleonis.Win32.Win32Errors.NO_ERROR" />
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps only]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetConnectionEnum(System.String,System.String,System.UInt32,System.IntPtr@,System.Int32,System.UInt32@,System.UInt32@,System.UInt32@)">
      <summary>Lists all connections made to a shared resource on the server or all connections established from a particular computer.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>If there is more than one user using this connection, then it is possible to get more than one structure for the same connection, but with a different user name.</para>
        <para>Administrator, Server or Print Operator, or Power User group membership is required to successfully execute the NetConnectionEnum function.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetFileClose(System.String,System.UInt32)">
      <summary>Forces a resource to close. This function can be used when an error prevents closure by any other means.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>You should use NetFileClose with caution because it does not write data cached on the client system to the file before closing the file.</para>
        <para>Only members of the Administrators or Server Operators local group can successfully execute the NetFileEnum function.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetFileEnum(System.String,System.String,System.String,System.UInt32,System.IntPtr@,System.Int32,System.UInt32@,System.UInt32@,System.UInt32@)">
      <summary>Returns information about some or all open files on a server, depending on the parameters specified.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>Only members of the Administrators or Server Operators local group can successfully execute the NetFileEnum function.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetShareEnum(System.String,System.UInt32,System.IntPtr@,System.Int32,System.UInt32@,System.UInt32@,System.UInt32@)">
      <summary>Retrieves information about each (hidden) Server Message Block (SMB) resource/share on a server.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>For interactive users (users who are logged on locally to the machine), no special group membership is required to execute the NetShareEnum function.</para>
        <para>For non-interactive users, Administrator, Power User, Print Operator, or Server Operator group membership is required to successfully execute the NetShareEnum function at levels 2, 502, and 503. No special group membership is required for level 0 or level 1 calls.</para>
        <para>This function applies only to Server Message Block (SMB) shares.</para>
        <para>Windows Server 2003 and Windows XP: For all users, Administrator, Power User, Print Operator, or Server Operator group membership is required to successfully execute the NetShareEnum function at levels 2 and 502.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetShareGetInfo(System.String,System.String,System.UInt32,System.IntPtr@)">
      <summary>Retrieves information about a particular Server Message Block (SMB) shared resource on a server.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>For interactive users (users who are logged on locally to the machine), no special group membership is required to execute the NetShareGetInfo function.</para>
        <para>For non-interactive users, Administrator, Power User, Print Operator, or Server Operator group membership is required to successfully execute the NetShareGetInfo function at levels 2, 502, and 503.</para>
        <para>This function applies only to Server Message Block (SMB) shares.</para>
        <para>Windows Server 2003 and Windows XP: For all users, Administrator, Power User, Print Operator, or Server Operator group membership is required to successfully execute the NetShareGetInfo function at levels 2 and 502.</para>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetApiBufferFree(System.IntPtr)">
      <summary>The NetApiBufferFree function frees the memory that the NetApiBufferAllocate function allocates.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>The NetApiBufferFree function is used to free memory used by network management functions.</para>
        <para>SetLastError is set to <see langword="false" />.</para>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps only]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetServerDiskEnum(System.String,System.UInt32,System.IntPtr@,System.Int32,System.UInt32@,System.UInt32@,System.UInt32@)">
      <summary>The NetServerDiskEnum function retrieves a list of disk drives on a server.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>The function returns an array of three-character strings (a drive letter, a colon, and a terminating null character).</para>
        <para>Only members of the Administrators or Server Operators local group can successfully execute the NetServerDiskEnum function on a remote computer.</para>
        <para>Minimum supported client: Windows 2000 Professional [desktop apps only]</para>
        <para>Minimum supported server: Windows 2000 Server [desktop apps only]</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetDfsEnum(System.String,System.UInt32,System.Int32,System.IntPtr@,System.UInt32@,System.UInt32@)">
      <summary>Enumerates the Distributed File System (DFS) namespaces hosted on a server or DFS links of a namespace hosted by a server.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>No special group membership is required for using the NetDfsEnum function.</para>
        <para>Minimum supported client: Windows Vista</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetDfsGetClientInfo(System.String,System.String,System.String,System.UInt32,System.IntPtr@)">
      <summary>Retrieves information about a Distributed File System (DFS) root or link from the cache maintained by the DFS client.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>No special group membership is required for using the NetDfsGetClientInfo function.</para>
        <para>Minimum supported client: Windows Vista</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.NativeMethods.NetDfsGetInfo(System.String,System.String,System.String,System.UInt32,System.IntPtr@)">
      <summary>Retrieves information about a specified Distributed File System (DFS) root or link in a DFS namespace.</summary>
      <returns>
            If the function succeeds, the return value is NERR_Success.
            If the function fails, the return value is a system error code.
            </returns>
      <remarks>
        <para>No special group membership is required for using the NetDfsGetInfo function.</para>
        <para>Minimum supported client: Windows Vista</para>
        <para>Minimum supported server: Windows Server 2003</para>
      </remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Network.DfsStorageStates">
      <summary>A set of bit flags that describe the storage state of the DFS root or link target.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsStorageStates.None">
      <summary>No storage state.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsStorageStates.Offline">
      <summary>DFS_STORAGE_STATE_OFFLINE
            <para>The DFS root or link target is offline.</para></summary>
      <remarks>Windows Server 2003: The state of a root target cannot be set to DFS_STORAGE_STATE_OFFLINE.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsStorageStates.Online">
      <summary>DFS_STORAGE_STATE_ONLINE
            <para>The DFS root or link target is online.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsStorageStates.Active">
      <summary>DFS_STORAGE_STATE_ACTIVE
            <para>The DFS root or link target is the active target.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.DfsVolumeStates">
      <summary>A set of bit flags that describe the state of the DFS root or link;
            <para>the state of the DFS namespace root cannot be changed.</para><para>One <see cref="T:Alphaleonis.Win32.Network.DfsVolumeStates" /> flag is set, and one DFS_VOLUME_FLAVOR flag is set.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.None">
      <summary>No volume state.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.Ok">
      <summary>DFS_VOLUME_STATE_OK
            <para>The specified DFS root or link is in the normal state.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.Inconsistent">
      <summary>DFS_VOLUME_STATE_INCONSISTENT
            <para>The internal DFS database is inconsistent with the specified DFS root or link.</para><para>Attempts to repair the inconsistency have failed.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.Offline">
      <summary>DFS_VOLUME_STATE_OFFLINE
            <para>The specified DFS root or link is offline or unavailable.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.Online">
      <summary>DFS_VOLUME_STATE_ONLINE
            <para>The specified DFS root or link is available.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.FlavorStandalone">
      <summary>DFS_VOLUME_FLAVOR_STANDALONE
            <para>The system sets this flag if the root is associated with a stand-alone DFS namespace.</para></summary>
      <remarks>Windows XP: This value is not supported.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.DfsVolumeStates.FlavorAdBlob">
      <summary>DFS_VOLUME_FLAVOR_AD_BLOB
            <para>The system sets this flag if the root is associated with a domain-based DFS namespace.</para></summary>
      <remarks>Windows XP: This value is not supported.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Network.AccessPermissions">
      <summary>A set of bit flags that describe the permissions for the shared resource's on servers running with share-level security.</summary>
      <remarks>Note that Windows does not support share-level security. This member is ignored on a server running user-level security.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.None">
      <summary>No permissions.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Read">
      <summary>ACCESS_READ
            <para>Permission to read data from a resource and, by default, to execute the resource.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Write">
      <summary>ACCESS_WRITE
            <para>Permission to write data to the resource.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Create">
      <summary>ACCESS_CREATE
            <para>Permission to create an instance of the resource (such as a file); data can be written to the resource as the resource is created.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Execute">
      <summary>ACCESS_EXEC
            <para>Permission to execute the resource.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Delete">
      <summary>ACCESS_DELETE
            <para>Permission to delete the resource.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Attributes">
      <summary>ACCESS_ATRIB
            <para>Permission to modify the resource's attributes, such as the date and time when a file was last modified.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.Permissions">
      <summary>ACCESS_PERM
            <para>Permission to modify the permissions (read, write, create, execute, and delete) assigned to a resource for a user or application.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.AccessPermissions.All">
      <summary>ACCESS_ALL
            <para>Permission to read, write, create, execute, and delete resources, and to modify their attributes and permissions.</para></summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.ShareResourceTypes">
      <summary>Contains information about the shared resource.</summary>
      <remarks>
        <para>Minimum supported client: Windows XP [desktop apps only]</para>
        <para>Minimum supported server: Windows Server 2003 [desktop apps only]</para>
      </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.None">
      <summary>No specific resource type used.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.Dfs">
      <summary>SHI1005_FLAGS_DFS
            <para>The specified share is present in a DFS tree structure. This flag cannot be set with NetShareSetInfo.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.DfsRoot">
      <summary>SHI1005_FLAGS_DFS_ROOT
            <para>The specified share is the root volume in a DFS tree structure. This flag cannot be set with NetShareSetInfo.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.RestrictExclusiveOpens">
      <summary>SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS 
            <para>The specified share disallows exclusive file opens, where reads to an open file are disallowed.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.ForceSharedDelete">
      <summary>SHI1005_FLAGS_FORCE_SHARED_DELETE
            <para>Shared files in the specified share can be forcibly deleted.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.AllowNamespaceCaching">
      <summary>SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING
            <para>Clients are allowed to cache the namespace of the specified share.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.AccessBasedDirectoryEnum">
      <summary>SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM
            <para>The server will filter directory entries based on the access permissions that the user on the client computer has for the server on which the files reside.</para><para>Only files for which the user has read access and directories for which the user has FILE_LIST_DIRECTORY access will be returned. If the user has SeBackupPrivilege, all available information will be returned.</para></summary>
      <remarks>This flag is supported only on servers running Windows Server 2003 with SP1 or later.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.ForceLevel2OpLock">
      <summary>SHI1005_FLAGS_FORCE_LEVELII_OPLOCK
            <para>Prevents exclusive caching modes that can cause delays for highly shared read-only data.</para></summary>
      <remarks>This flag is supported only on servers running Windows Server 2008 R2 or later.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.EnableHash">
      <summary>SHI1005_FLAGS_ENABLE_HASH</summary>
      <para>Enables server-side functionality needed for peer caching support.</para>
      <para>Clients on high-latency or low-bandwidth connections can use alternate methods to retrieve data from peers if available, instead of sending requests to the server.</para>
      <para>This is only supported on shares configured for manual caching (CSC_CACHE_MANUAL_REINT).</para>
      <remarks>This flag is supported only on servers running Windows Server 2008 R2 or later.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareResourceTypes.EnableCa">
      <summary>SHI1005_FLAGS_ENABLE_CA (0X4000) - Enables server-side functionality needed for peer caching support. Clients on high-latency or low-bandwidth connections can use alternate methods to retrieve data from peers if available, instead of sending requests to the server. This is only supported on shares configured for manual caching (CSC_CACHE_MANUAL_REINT).</summary>
      <remarks>Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, and Windows Server 2003:  This flag is not supported.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Network.ShareType">
      <summary>The type of the shared resource.</summary>
      <remarks>MSDN: 2.2.2.4 Share Types
            http://msdn.microsoft.com/en-us/library/cc247110.aspx
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.DiskTree">
      <summary>Disk drive.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.PrintQueue">
      <summary>Print queue.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.Device">
      <summary>Communication device.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.Ipc">
      <summary>Interprocess communication (IPC).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.ClusterFs">
      <summary>A cluster share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.ClusterSoFs">
      <summary>A Scale-Out cluster share.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.ClusterDfs">
      <summary>A DFS share in a cluster.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.Special">
      <summary>Special share reserved for interprocess communication (IPC$) or remote administration of the server (ADMIN$).
            <para>Can also refer to administrative shares such as C$, D$, E$, and so forth.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.ShareType.Temporary">
      <summary>A temporary share that is not persisted for creation each time the file server initializes.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.Host">
      <summary>Provides static methods to retrieve network resource information from a local- or remote host.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.Host.FunctionData">
      <summary>Structure is used to pass additional data to the Win32 function.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.WinOwner">
      <summary>Handle to a window that the provider of network resources can use as an owner window for dialog boxes.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.LocalName">
      <summary>The name of a local device to be redirected, such as "F:". When <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.LocalName" /> is <see langword="null" /> or <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.RemoteName">
      <summary>A network resource to connect to/disconnect from, for example: \\server or \\server\share</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.Credential">
      <summary>A <see cref="T:System.Net.NetworkCredential" /> instance. Use either this or the combination of <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.UserName" /> and <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.Password" />.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.UserName">
      <summary>The user name for making the connection. If <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.UserName" /> is <see langword="null" />, the function uses the default user name. (The user context for the process provides the default user name)</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.Password">
      <summary>The password to be used for making the network connection. If <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.Password" /> is <see langword="null" />, the function uses the current default password associated with the user specified by <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.UserName" />.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.Prompt">
      <summary>
        <see langword="true" /> always pop-ups an authentication dialog box.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.UpdateProfile">
      <summary>
        <see langword="true" /> successful network resource connections will be saved.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.SaveCredentials">
      <summary>When the operating system prompts for a credential, the credential should be saved by the credential manager when true.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.IsDeviceMap">
      <summary>
        <see langword="true" /> indicates that the operation concerns a drive mapping.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.IsDisconnect">
      <summary>
        <see langword="true" /> indicates that the operation needs to disconnect from the network resource, otherwise connect.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenResources">
      <summary>Enumerates open resources from the local host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> open resources from the local host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenResources(System.String,System.String,System.String,System.Boolean)">
      <summary>Enumerates open resources from the specified host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> open resources from the specified <paramref name="host" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="basePath">
              This parameter may be <see langword="null" />. Enumerates only resources that have the value of the basepath parameter as a prefix.
              (A prefix is the portion of a path that comes before a backslash.)
            </param>
      <param name="typeName">
              This parameter may be <see langword="null" />. The name of the user or the name of the connection; If <paramref name="typeName" />
              does not begin with two backslashes ("\\") it indicates the name of the user. If <paramref name="typeName" /> begins with two
              backslashes ("\\") it indicates the name of the connection.
            </param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenResourcesInternal(System.String,System.String,System.String,System.Boolean)">
      <summary>&gt;Unified method EnumerateOpenResourcesInternal() to enumerate open resources from the specified host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> open resources from the specified <paramref name="host" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="basePath">
              This parameter may be <see langword="null" />. Enumerates only resources that have the value of the basepath parameter as a prefix.
              (A prefix is the portion of a path that comes before a backslash.)
            </param>
      <param name="typeName">
              This parameter may be <see langword="null" />. The name of the user or the name of the connection; If <paramref name="typeName" />
              does not begin with two backslashes ("\\") it indicates the name of the user. If <paramref name="typeName" /> begins with two
              backslashes ("\\") it indicates the name of the connection.
            </param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDrives">
      <summary>Enumerates drives from the local host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> drives from the local host.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDrives(System.String,System.Boolean)">
      <summary>Enumerates local drives from the specified host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> drives from the specified host.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as unavailable resources.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDrivesInternal(System.String,System.Boolean)">
      <summary>Unified method EnumerateDrivesInternal() to enumerate local drives from the specified host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> drives from the specified host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as unavailable resources.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenConnections">
      <summary>Enumerates open connections from the local host.</summary>
      <returns>Returns <see cref="T:Alphaleonis.Win32.Network.OpenConnectionInfo" /> connection information from the local host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenConnections(System.String,System.String,System.Boolean)">
      <summary>Enumerates open connections from the specified host.</summary>
      <returns>Returns <see cref="T:Alphaleonis.Win32.Network.OpenConnectionInfo" /> connection information from the specified <paramref name="host" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="share">The name of the Server Message Block (SMB) share.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as unavailable resources.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateShares">
      <summary>Enumerates Server Message Block (SMB) shares from the local host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> shares from the specified host.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateShares(System.String,System.Boolean)">
      <summary>
              Enumerates Server Message Block (SMB) shares from the specified host.
            </summary>
      <param name="host">The DNS or NetBIOS name of the specified <paramref name="host" />.</param>
      <param name="continueOnException">
        <para>
          <see langword="true" /> suppress any Exception that might be thrown a result from a failure,</para>
        <para>such as unavailable resources.</para>
      </param>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> shares from the specified host.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetHostShareFromPath(System.String)">
      <summary>Gets the host and Server Message Block (SMB) share name for the given <paramref name="uncPath" />.</summary>
      <param name="uncPath">The share in the format: \\host\share.</param>
      <returns>string[0] = host, string[1] = share;</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetShareInfo(System.String,System.Boolean)">
      <summary>Retrieves information about the Server Message Block (SMB) share as defined on the specified host.</summary>
      <returns>
            A <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> class, or <see langword="null" /> on failure or when not available,
            and <paramref name="continueOnException" /> is <see langword="true" />.
            </returns>
      <param name="uncPath">The share in the format: \\host\share.</param>
      <param name="continueOnException">
        <see langword="true" /> to suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetShareInfo(Alphaleonis.Win32.Network.ShareInfoLevel,System.String,System.Boolean)">
      <summary>Retrieves information about the Server Message Block (SMB) share as defined on the specified host.</summary>
      <returns>
            A <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> class, or <see langword="null" /> on failure or when not available,
            and <paramref name="continueOnException" /> is <see langword="true" />.
            </returns>
      <param name="shareLevel">One of the <see cref="T:Alphaleonis.Win32.Network.ShareInfoLevel" /> options.</param>
      <param name="uncPath">The share in the format: \\host\share.</param>
      <param name="continueOnException">
        <see langword="true" /> to suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetShareInfo(System.String,System.String,System.Boolean)">
      <summary>Retrieves information about the Server Message Block (SMB) share as defined on the specified host.</summary>
      <returns>
            A <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> class, or <see langword="null" /> on failure or when not available,
            and <paramref name="continueOnException" /> is <see langword="true" />.
            </returns>
      <param name="host">The DNS or NetBIOS name of the specified <paramref name="host" />.</param>
      <param name="share">The name of the Server Message Block (SMB) share.</param>
      <param name="continueOnException">
        <see langword="true" /> to suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetShareInfo(Alphaleonis.Win32.Network.ShareInfoLevel,System.String,System.String,System.Boolean)">
      <summary>Retrieves information about the Server Message Block (SMB) share as defined on the specified host.</summary>
      <returns>
            A <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> class, or <see langword="null" /> on failure or when not available,
            and <paramref name="continueOnException" /> is <see langword="true" />.
            </returns>
      <param name="shareLevel">One of the <see cref="T:Alphaleonis.Win32.Network.ShareInfoLevel" /> options.</param>
      <param name="host">A string that specifies the DNS or NetBIOS name of the specified <paramref name="host" />.</param>
      <param name="share">A string that specifies the name of the Server Message Block (SMB) share.</param>
      <param name="continueOnException">
        <see langword="true" /> to suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateOpenConnectionsInternal(System.String,System.String,System.Boolean)">
      <summary>Unified method EnumerateOpenConnectionsInternal() to enumerate open connections from the specified host.</summary>
      <returns>Returns <see cref="T:Alphaleonis.Win32.Network.OpenConnectionInfo" /> connection information from the specified <paramref name="host" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the remote server. <see langword="null" /> refers to the local host.</param>
      <param name="share">The name of the Server Message Block (SMB) share.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateSharesInternal(System.String,System.Boolean)">
      <summary>Unified method EnumerateSharesInternal() to enumerate (hidden) Server Message Block (SMB) shares from the specified host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> shares from the specified host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="host">The DNS or NetBIOS name of the specified <paramref name="host" />.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetShareInfoInternal(Alphaleonis.Win32.Network.ShareInfoLevel,System.String,System.String,System.Boolean)">
      <summary>Unified method GetShareInfoInternal() to get the <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> structure of a Server Message Block (SMB) share.</summary>
      <returns>
            A <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> class, or <see langword="null" /> on failure or when not available,
            and <paramref name="continueOnException" /> is <see langword="true" />.
            </returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="shareLevel">One of the <see cref="T:Alphaleonis.Win32.Network.ShareInfoLevel" /> options.</param>
      <param name="host">A string that specifies the DNS or NetBIOS name of the specified <paramref name="host" />.</param>
      <param name="share">A string that specifies the name of the Server Message Block (SMB) share.</param>
      <param name="continueOnException">
        <see langword="true" /> to suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDfsLinks(System.String)">
      <summary>Enumerates the DFS Links from a DFS namespace.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS namespaces.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="dfsName">The Universal Naming Convention (UNC) path of a DFS root or link.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDfsRoot">
      <summary>Enumerates the DFS namespaces from the local host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from the local host.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDfsRoot(System.String,System.Boolean)">
      <summary>Enumerates the DFS namespaces from a host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from a host.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="host">The DNS or NetBIOS name of a host.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDomainDfsRoot">
      <summary>Enumerates the DFS namespaces from the domain.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from the domain.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDomainDfsRoot(System.String,System.Boolean)">
      <summary>Enumerates the DFS namespaces from a domain.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from a domain.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="domain">A domain name.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetDfsClientInfo(System.String)">
      <summary>Gets information about a DFS root or link from the cache maintained by the DFS client.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> instance.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="dfsName">The Universal Naming Convention (UNC) path of a DFS root or link.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetDfsClientInfo(System.String,System.String,System.String)">
      <summary>Gets information about a DFS root or link from the cache maintained by the DFS client.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> instance.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="dfsName">The Universal Naming Convention (UNC) path of a DFS root or link.</param>
      <param name="serverName">The name of the DFS root target or link target server.</param>
      <param name="shareName">The name of the share corresponding to the DFS root target or link target.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetDfsInfo(System.String)">
      <summary>Gets information about a specified DFS root or link in a DFS namespace.</summary>
      <returns>Returns a <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> instance.</returns>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="dfsName">The Universal Naming Convention (UNC) path of a DFS root or link.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDfsRootInternal(System.String,System.Boolean)">
      <summary>Unified method EnumerateDfsRootInternal() to enumerate the DFS namespaces from a host.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from a host.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="host">The DNS or NetBIOS name of a host.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.EnumerateDomainDfsRootInternal(System.String,System.Boolean)">
      <summary>Unified method EnumerateDomainDfsRootInternal() to enumerate the DFS namespaces from a domain.</summary>
      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> of DFS Root namespaces from a domain.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="domain">A domain name.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetDfsInfoInternal(System.Boolean,System.String,System.String,System.String)">
      <summary>Retrieves information about a specified DFS root or link in a DFS namespace.</summary>
      <returns>Returns an <see cref="T:Alphaleonis.Win32.Network.DfsInfo" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <exception cref="T:System.PlatformNotSupportedException">
      </exception>
      <param name="getFromClient">
        <see langword="true" /> retrieves information about a Distributed File System (DFS) root or link from the cache maintained by the
              DFS client. When <see langword="false" /> retrieves information about a specified Distributed File System (DFS) root or link in a
              DFS namespace.
            </param>
      <param name="dfsName">The Universal Naming Convention (UNC) path of a DFS root or link.</param>
      <param name="serverName">
              The name of the DFS root target or link target server. If <paramref name="getFromClient" /> is <see langword="false" />, this
              parameter is always <see langword="null" />.
            </param>
      <param name="shareName">
              The name of the share corresponding to the DFS root target or link target. If <paramref name="getFromClient" /> is
              <see langword="false" />, this parameter is always <see langword="null" />.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDrive(System.String,System.String)">
      <summary>Creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <paramref name="localName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, <see langword="null" /> otherwise.</returns>
      <param name="localName">
              The name of a local device to be redirected, such as "F:". When <paramref name="localName" /> is <see langword="null" /> or
              <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.
            </param>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDrive(System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <paramref name="localName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, null otherwise.</returns>
      <param name="localName">
              The name of a local device to be redirected, such as "F:". When <paramref name="localName" /> is <see langword="null" /> or
              <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.
            </param>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="userName">
              The user name for making the connection. If <paramref name="userName" /> is <see langword="null" />, the function uses the default
              user name. (The user context for the process provides the default user name)
            </param>
      <param name="password">
              The password to be used for making the network connection. If <paramref name="password" /> is <see langword="null" />, the function
              uses the current default password associated with the user specified by <paramref name="userName" />.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">
              When the operating system prompts for a credential, the credential should be saved by the credential manager when true.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDrive(System.String,System.String,System.Net.NetworkCredential,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <paramref name="localName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, null otherwise.</returns>
      <param name="localName">
              The name of a local device to be redirected, such as "F:". When <paramref name="localName" /> is <see langword="null" /> or
              <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.
            </param>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="credentials">
              An instance of <see cref="T:System.Net.NetworkCredential" /> which provides credentials for password-based authentication schemes such as basic,
              digest, NTLM, and Kerberos authentication.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">
              When the operating system prompts for a credential, the credential should be saved by the credential manager when true.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDrive(System.IntPtr,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <paramref name="localName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, null otherwise.</returns>
      <param name="winOwner">Handle to a window that the provider of network resources can use as an owner window for dialog boxes.</param>
      <param name="localName">
              The name of a local device to be redirected, such as "F:". When <paramref name="localName" /> is <see langword="null" /> or
              <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.
            </param>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="userName">
              The user name for making the connection. If <paramref name="userName" /> is <see langword="null" />, the function uses the default
              user name. (The user context for the process provides the default user name)
            </param>
      <param name="password">
              The password to be used for making the network connection. If <paramref name="password" /> is <see langword="null" />, the function
              uses the current default password associated with the user specified by <paramref name="userName" />.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">
              When the operating system prompts for a credential, the credential should be saved by the credential manager when true.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDrive(System.IntPtr,System.String,System.String,System.Net.NetworkCredential,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <paramref name="localName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, null otherwise.</returns>
      <param name="winOwner">Handle to a window that the provider of network resources can use as an owner window for dialog boxes.</param>
      <param name="localName">
              The name of a local device to be redirected, such as "F:". When <paramref name="localName" /> is <see langword="null" /> or
              <c>string.Empty</c>, the last available drive letter will be used. Letters are assigned beginning with Z:, then Y: and so on.
            </param>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="credentials">
              An instance of <see cref="T:System.Net.NetworkCredential" /> which provides credentials for password-based authentication schemes such as basic,
              digest, NTLM, and Kerberos authentication.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">
              When the operating system prompts for a credential, the credential should be saved by the credential manager when true.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectTo(System.String)">
      <summary>Creates a connection to a network resource.</summary>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="remoteName">A network resource to connect to, for example: \\server or \\server\share.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectTo(System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource.</summary>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="remoteName">A network resource to connect to, for example: \\server or \\server\share.</param>
      <param name="userName">
              The user name for making the connection. If <paramref name="userName" /> is <see langword="null" />, the function uses the default
              user name. (The user context for the process provides the default user name)
            </param>
      <param name="password">
              The password to be used for making the network connection. If <paramref name="password" /> is <see langword="null" />, the function
              uses the current default password associated with the user specified by <paramref name="userName" />.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">
              When the operating system prompts for a credential, the credential should be saved by the credential manager when true.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectTo(System.String,System.Net.NetworkCredential,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource.</summary>
      <param name="remoteName">A network resource to connect to, for example: \\server or \\server\share.</param>
      <param name="credentials">An instance of <see cref="T:System.Net.NetworkCredential" /> which provides credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.</param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">When the operating system prompts for a credential, the credential should be saved by the credential manager when true.</param>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectTo(System.IntPtr,System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource.</summary>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="winOwner">Handle to a window that the provider of network resources can use as an owner window for dialog boxes.</param>
      <param name="remoteName">A network resource to connect to, for example: \\server or \\server\share.</param>
      <param name="userName">
              The user name for making the connection. If <paramref name="userName" /> is <see langword="null" />, the function uses the default
              user name. (The user context for the process provides the default user name)
            </param>
      <param name="password">
              The password to be used for making the network connection. If <paramref name="password" /> is <see langword="null" />, the function
              uses the current default password associated with the user specified by <paramref name="userName" />.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">When the operating system prompts for a credential, the credential should be saved by the credential manager when true.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectTo(System.IntPtr,System.String,System.Net.NetworkCredential,System.Boolean,System.Boolean,System.Boolean)">
      <summary>Creates a connection to a network resource.</summary>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="winOwner">Handle to a window that the provider of network resources can use as an owner window for dialog boxes.</param>
      <param name="remoteName">A network resource to connect to, for example: \\server or \\server\share.</param>
      <param name="credentials">An instance of <see cref="T:System.Net.NetworkCredential" /> which provides credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.</param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
      <param name="updateProfile">
        <see langword="true" /> successful network resource connections will be saved.</param>
      <param name="saveCredentials">When the operating system prompts for a credential, the credential should be saved by the credential manager when true.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.DisconnectDrive(System.String)">
      <summary>Cancels an existing network connection. You can also call the function to remove remembered network connections that are not currently connected.</summary>
      <param name="localName">The name of a local device to be disconnected, such as "F:".</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.DisconnectDrive(System.String,System.Boolean,System.Boolean)">
      <summary>Cancels an existing network connection. You can also call the function to remove remembered network connections that are not currently connected.</summary>
      <param name="localName">The name of a local device to be disconnected, such as "F:".</param>
      <param name="force">
              Specifies whether the disconnection should occur if there are open files or jobs on the connection.
              If this parameter is <see langword="false" />, the function fails if there are open files or jobs.
            </param>
      <param name="updateProfile">
        <see langword="true" /> successful removal of network resource connections will be saved.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.DisconnectFrom(System.String)">
      <summary>Cancels an existing network connection. You can also call the function to remove remembered network connections that are not currently connected.</summary>
      <param name="remoteName">A network resource to disconnect from, for example: \\server or \\server\share.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.DisconnectFrom(System.String,System.Boolean,System.Boolean)">
      <summary>Cancels an existing network connection. You can also call the function to remove remembered network connections that are not currently connected.</summary>
      <param name="remoteName">A network resource to disconnect from, for example: \\server or \\server\share.</param>
      <param name="force">
              Specifies whether the disconnection should occur if there are open files or jobs on the connection.
              If this parameter is <see langword="false" />, the function fails if there are open files or jobs.
            </param>
      <param name="updateProfile">
        <see langword="true" /> successful removal of network resource connections will be saved.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.ConnectDisconnectInternal(Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments)">
      <summary>Unified method ConnectDisconnectInternal() to connect to/disconnect from a network resource. The function can redirect a local device to a network resource.</summary>
      <returns>If <see cref="F:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments.LocalName" /> is <see langword="null" /> or <c>string.Empty</c>, returns the last available drive letter, null otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="arguments">The <see cref="T:Alphaleonis.Win32.Network.Host.ConnectDisconnectArguments" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetUncName">
      <summary>Return the host name in UNC format, for example: \\hostname.</summary>
      <returns>The unc name.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetUncName(System.String)">
      <summary>Return the host name in UNC format, for example: \\hostname.</summary>
      <param name="computerName">Name of the computer.</param>
      <returns>The unc name.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Network.Host.GetRemoteNameInfoInternal(System.String,System.Boolean)">
      <summary>This method uses <see cref="T:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo" /> level to retieve full REMOTE_NAME_INFO structure.</summary>
      <returns>A <see cref="T:Alphaleonis.Win32.Network.NativeMethods.RemoteNameInfo" /> structure.</returns>
      <remarks>AlphaFS regards network drives created using SUBST.EXE as invalid.</remarks>
      <exception cref="T:System.ArgumentException">The path parameter contains invalid characters, is empty, or contains only white spaces.</exception>
      <exception cref="T:System.ArgumentNullException" />
      <exception cref="T:System.IO.PathTooLongException">When <paramref name="path" /> exceeds maximum path length.</exception>
      <exception cref="T:System.Net.NetworkInformation.NetworkInformationException">
      </exception>
      <param name="path">The local path with drive name.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Network.DriveConnection">
      <summary>Used to create a temporary connection to a network resource that will be disconnected once this instance is disposed.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.#ctor(System.String)">
      <summary>Creates a temporary connection to a network resource. The function can redirect a local device to a network resource, using the current user credentials.</summary>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.#ctor(System.String,System.String,System.String,System.Boolean)">
      <summary>Creates a temporary connection to a network resource. The function can redirect a local device to a network resource, using a user name and password.</summary>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="userName">
              The user name for making the connection. If <paramref name="userName" /> is <see langword="null" />, the function uses the default
              user name. (The user context for the process provides the default user name)
            </param>
      <param name="password">
              The password to be used for making the network connection. If <paramref name="password" /> is <see langword="null" />, the function
              uses the current default password associated with the user specified by <paramref name="userName" />.
            </param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.#ctor(System.String,System.Net.NetworkCredential,System.Boolean)">
      <summary>Creates a temporary connection to a network resource. The function can redirect a local device to a network resource, <see cref="T:System.Net.NetworkCredential" /> can be supplied.</summary>
      <param name="remoteName">The network resource to connect to. The string can be up to MAX_PATH characters in length.</param>
      <param name="credentials">An instance of <see cref="T:System.Net.NetworkCredential" /> which provides credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.</param>
      <param name="prompt">
        <see langword="true" /> always pop-ups an authentication dialog box.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.Finalize">
      <summary>
        <see cref="T:Alphaleonis.Win32.Network.DriveConnection" /> class destructor.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.Dispose">
      <summary>Releases all resources used by the <see cref="T:Alphaleonis.Win32.Network.DriveConnection" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.DriveConnection.ToString">
      <summary>Returns the last available drive letter used for this connection.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DriveConnection.LocalName">
      <summary>The last available drive letter used for this connection.</summary>
      <value>The last available drive letter used for this connection.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Network.DriveConnection.Share">
      <summary>The path originally specified by the user.</summary>
      <value>The path originally specified by the user.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Network.OpenConnectionInfo">
      <summary>Contains the identification number of a connection, number of open files, connection time, number of users on the connection, and the type of connection.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.OpenConnectionInfo.#ctor(System.String,Alphaleonis.Win32.Network.NativeMethods.ConnectionInfo1)">
      <summary>Create a OpenConnectionInfo instance.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.OpenConnectionInfo.ToString">
      <summary>Returns the full path to the share.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.Host">
      <summary>The local or remote Host.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.Id">
      <summary>Specifies a connection identification number.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.ShareType">
      <summary>The type of share.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.TotalOpenFiles">
      <summary>Specifies the number of files currently open as a result of the connection.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.TotalUsers">
      <summary>Specifies the number of users on the connection.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.ConnectedSeconds">
      <summary>Specifies the number of seconds that the connection has been established.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.UserName">
      <summary>If the server sharing the resource is running with user-level security, the UserName member describes which user made the connection. If the server is running with share-level security, coni1_username describes which computer (computername) made the connection.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenConnectionInfo.NetName">
      <summary>String that specifies either the share name of the server's shared resource or the computername of the client. The value of this member depends on which name was specified as the qualifier parameter to the NetConnectionEnum function.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.SafeNetApiBuffer">
      <summary>Represents a wrapper class for a handle used by the NetApiBufferFree/NetXxx Win32 API functions.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.OpenResourceInfo">
      <summary>Contains the identification number and other pertinent information about files, devices, and pipes. This class cannot be inherited.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.OpenResourceInfo.#ctor(System.String,Alphaleonis.Win32.Network.NativeMethods.FileInfo3)">
      <summary>Create a OpenResourceInfo instance.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.OpenResourceInfo.Close">
      <summary>Forces the open resource to close.</summary>
      <remarks>You should this method with caution because it does not write data cached on the client system to the file before closing the file.</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Network.OpenResourceInfo.ToString">
      <summary>Returns the full path to the share.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.Host">
      <summary>The local or remote Host.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.Id">
      <summary>The identification number assigned to the resource when it is opened.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.PathName">
      <summary>The path of the opened resource.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.Permissions">
      <summary>The access permissions associated with the opening application. This member can be one or more of the following <see cref="T:Alphaleonis.Win32.Network.AccessPermissions" /> values.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.TotalLocks">
      <summary>The number of file locks on the file, device, or pipe.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.OpenResourceInfo.UserName">
      <summary>Specifies which user (on servers that have user-level security) or which computer (on servers that have share-level security) opened the resource.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Network.ShareInfo">
      <summary>Contains information about Server Message Block (SMB) shares. This class cannot be inherited.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Network.ShareInfo.#ctor(System.String,Alphaleonis.Win32.Network.ShareInfoLevel,System.Object)">
      <summary>Creates a <see cref="T:Alphaleonis.Win32.Network.ShareInfo" /> instance.</summary>
      <param name="host">A host to retrieve shares from.</param>
      <param name="shareLevel">One of the <see cref="T:Alphaleonis.Win32.Network.ShareInfoLevel" /> options.</param>
      <param name="shareInfo">A <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo2" /> or <see cref="T:Alphaleonis.Win32.Network.NativeMethods.ShareInfo503" /> instance.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Network.ShareInfo.ToString">
      <summary>Returns the full path to the share.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.CurrentUses">
      <summary>The number of current connections to the resource.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.DirectoryInfo">
      <summary>The <see cref="P:Alphaleonis.Win32.Network.ShareInfo.DirectoryInfo" /> instance associated with this share.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.NetFullPath">
      <summary>Returns the full UNC path to the share.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.MaxUses">
      <summary>The maximum number of concurrent connections that the shared resource can accommodate.</summary>
      <remarks>The number of connections is unlimited if the value specified in this member is –1.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.NetName">
      <summary>The name of a shared resource.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.Password">
      <summary>The share's password (when the server is running with share-level security).</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.Path">
      <summary>The local path for the shared resource.</summary>
      <remarks>For disks, this member is the path being shared. For print queues, this member is the name of the print queue being shared.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.Permissions">
      <summary>The shared resource's permissions for servers running with share-level security.</summary>
      <remarks>Note that Windows does not support share-level security. This member is ignored on a server running user-level security.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.Remark">
      <summary>An optional comment about the shared resource.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.SecurityDescriptor">
      <summary>Specifies the SECURITY_DESCRIPTOR associated with this share.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.ServerName">
      <summary>A pointer to a string that specifies the DNS or NetBIOS name of the remote server on which the shared resource resides.</summary>
      <remarks>A value of "*" indicates no configured server name.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.ShareType">
      <summary>The type of share.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.ResourceType">
      <summary>The type of share resource.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Network.ShareInfo.ShareLevel">
      <summary>The structure level for the ShareInfo instance.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.OperatingSystem">
      <summary>Static class providing access to information about the operating system under which the assembly is executing.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.OperatingSystem.EnumOsName">
      <summary>A set of flags that describe the named Windows versions.</summary>
      <remarks>The values of the enumeration are ordered. A later released operating system version has a higher number, so comparisons between named versions are meaningful.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Earlier">
      <summary>A Windows version earlier than Windows 2000.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Windows2000">
      <summary>Windows 2000 (Server or Professional).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsXP">
      <summary>Windows XP.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsServer2003">
      <summary>Windows Server 2003.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsVista">
      <summary>Windows Vista.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsServer2008">
      <summary>Windows Server 2008.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Windows7">
      <summary>Windows 7.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsServer2008R2">
      <summary>Windows Server 2008 R2.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Windows8">
      <summary>Windows 8.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsServer2012">
      <summary>Windows Server 2012.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Windows81">
      <summary>Windows 8.1.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.WindowsServer2012R2">
      <summary>Windows Server 2012 R2.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumOsName.Later">
      <summary>A later version of Windows than currently installed.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.OperatingSystem.EnumProcessorArchitecture">
      <summary>A set of flags to indicate the current processor architecture for which the operating system is targeted and running.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumProcessorArchitecture.X86">
      <summary>PROCESSOR_ARCHITECTURE_INTEL
            <para>The system is running a 32-bit version of Windows.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumProcessorArchitecture.IA64">
      <summary>PROCESSOR_ARCHITECTURE_IA64
            <para>The system is running on a Itanium processor.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumProcessorArchitecture.X64">
      <summary>PROCESSOR_ARCHITECTURE_AMD64
            <para>The system is running a 64-bit version of Windows.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.OperatingSystem.EnumProcessorArchitecture.Unknown">
      <summary>PROCESSOR_ARCHITECTURE_UNKNOWN
            <para>Unknown architecture.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.OperatingSystem.NativeMethods.GetVersionEx(Alphaleonis.Win32.OperatingSystem.NativeMethods.OsVersionInfoEx@)">
      <summary>Retrieves information about the current operating system.</summary>
      <returns>
            If the function succeeds, the return value is a nonzero value.
            If the function fails, the return value is zero. To get extended error information, call GetLastError. The function fails if you specify an invalid value for the dwOSVersionInfoSize member of the OSVERSIONINFO or OSVERSIONINFOEX structure.
            </returns>
      <remarks>Minimum supported client: Windows 2000 Professional [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.OperatingSystem.NativeMethods.GetSystemInfo(Alphaleonis.Win32.OperatingSystem.NativeMethods.SystemInfo@)">
      <summary>Retrieves information about the current system.</summary>
      <returns>This function does not return a value.</returns>
      <remarks>Minimum supported client: Windows 2000 Professional [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows 2000 Server [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.OperatingSystem.NativeMethods.IsWow64Process(System.IntPtr,System.Boolean@)">
      <summary>Determines whether the specified process is running under WOW64.</summary>
      <returns>
            If the function succeeds, the return value is a nonzero value.
            If the function fails, the return value is zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows Vista, Windows XP with SP2 [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2008, Windows Server 2003 with SP1 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.OperatingSystem.IsAtLeast(Alphaleonis.Win32.OperatingSystem.EnumOsName)">
      <summary>Determines whether the operating system is of the specified version or later.</summary>
      <returns>
        <see langword="true" /> if the operating system is of the specified <paramref name="version" /> or later; otherwise, <see langword="false" />.</returns>
      <param name="version">The lowest version for which to return true.</param>
    </member>
    <member name="M:Alphaleonis.Win32.OperatingSystem.IsAtLeast(Alphaleonis.Win32.OperatingSystem.EnumOsName,System.Int32)">
      <summary>Determines whether the operating system is of the specified version or later, allowing specification of a minimum service pack that must be installed on the lowest version.</summary>
      <returns>
        <see langword="true" /> if the operating system matches the specified <paramref name="version" /> with the specified service pack, or if the operating system is of a later version; otherwise, <see langword="false" />.</returns>
      <param name="version">The minimum required version.</param>
      <param name="servicePackVersion">The major version of the service pack that must be installed on the minimum required version to return true. This can be 0 to indicate that no service pack is required.</param>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.IsServer">
      <summary>Gets a value indicating whether the operating system is a server operating system.</summary>
      <value>
        <see langword="true" /> if the current operating system is a server operating system; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.IsWow64Process">
      <summary>Gets a value indicating whether the current process is running under WOW64.</summary>
      <value>
        <see langword="true" /> if the current process is running under WOW64; otherwise, <see langword="false" />.</value>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.OSVersion">
      <summary>Gets the numeric version of the operating system. This is the same as returned by <see cref="P:System.Environment.OSVersion" />.</summary>
      <value>The numeric version of the operating system.</value>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.VersionName">
      <summary>Gets the named version of the operating system.</summary>
      <value>The named version of the operating system.</value>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.ProcessorArchitecture">
      <summary>Gets the processor architecture for which the operating system is targeted.</summary>
      <value>The processor architecture for which the operating system is targeted.</value>
      <remarks>If running under WOW64 this will return a 32-bit processor. Use <see cref="P:Alphaleonis.Win32.OperatingSystem.IsWow64Process" /> to determine if this is the case.</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.OperatingSystem.ServicePackVersion">
      <summary>Gets the version of the service pack currently installed on the operating system.</summary>
      <value>The version of the service pack currently installed on the operating system.</value>
      <remarks>Only the <see cref="P:System.Version.Major" /> and <see cref="P:System.Version.Minor" /> fields are used.</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Resources">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.AlphaFSInternalError">
      <summary>
              Looks up a localized string similar to AlphaFS Internal Error.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.Argument_is_not_a_valid_Volume_GUID">
      <summary>
              Looks up a localized string similar to Argument is not a valid Volume GUID..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.AttemptingToGenerateExceptionFromSuccessfulOperation">
      <summary>
               Looks up a localized string similar to Incorrectly implemented function attempting to generate exception from successful operation.
            .
             </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.BackupFileStream_Unlock_Backup_FileStream_Lock_Length_must_not_be_negative_">
      <summary>
              Looks up a localized string similar to Backup FileStream Lock Length must not be negative..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.BackupFileStream_Unlock_Backup_FileStream_Unlock_Position_must_not_be_negative_">
      <summary>
              Looks up a localized string similar to Backup FileStream Unlock Position must not be negative..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.BufferIsNotLargeEnoughForTheRequestedOperation">
      <summary>
              Looks up a localized string similar to Buffer is not large enough for the requested operation..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.CannotCreateDirectory">
      <summary>
              Looks up a localized string similar to Cannot create directory.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.CountMustNotBeNegative">
      <summary>
              Looks up a localized string similar to Count must not be negative.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.DevicesAreNotSupported">
      <summary>
              Looks up a localized string similar to Devices are not supported..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.DirectoryExists">
      <summary>
              Looks up a localized string similar to Directory exists.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.DirectoryExistsWithSameNameSpecifiedByPath">
      <summary>
              Looks up a localized string similar to The target file is a directory, not a file: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.DirectoryNotEmpty">
      <summary>
              Looks up a localized string similar to Directory is not empty: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.DirectoryNotFound">
      <summary>
              Looks up a localized string similar to Directory not found.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.EFileOrDirectoryAlreadyExists">
      <summary>
              Looks up a localized string similar to The file or directory already exists..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.ENotAReparsePoint">
      <summary>
              Looks up a localized string similar to The file or directory is not a reparse point.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.ErrorCodeWas0">
      <summary>
              Looks up a localized string similar to Error code was.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.FileExists">
      <summary>
              Looks up a localized string similar to File exists.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.FileExistsWithSameNameSpecifiedByPath">
      <summary>
              Looks up a localized string similar to The target directory is a file, not a directory: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.FileHidden">
      <summary>
              Looks up a localized string similar to The specified file is hidden: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.HandleClosed">
      <summary>
              Looks up a localized string similar to Handle is closed..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.HandleDangerousRef">
      <summary>
              Looks up a localized string similar to SafeGlobalMemoryBufferHandle DangerousAddRef / DangerousRelease failure..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.HandleInvalid">
      <summary>
              Looks up a localized string similar to Invalid handle..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.HandleInvalidWin32Error">
      <summary>
              Looks up a localized string similar to Invalid handle. Win32Error: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.HardLinksOnNonNTFSPartitionsIsNotSupported">
      <summary>
              Looks up a localized string similar to Creating hard-links on non-NTFS partitions is not supported.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.IllegalCharactersInPath">
      <summary>
              Looks up a localized string similar to Illegal characters: [{0}] in path..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.IllegalPath">
      <summary>
              Looks up a localized string similar to Illegal path.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.IncompleteHeaderRead">
      <summary>
              Looks up a localized string similar to Incomplete header read..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidDirectoryName">
      <summary>
              Looks up a localized string similar to Invalid directory name.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidFileAttribute">
      <summary>
              Looks up a localized string similar to An attempt to set an invalid file attribute failed..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidSecurityDescriptorReturnedFromSystem">
      <summary>
              Looks up a localized string similar to Invalid security descriptor returned from system..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidStreamName">
      <summary>
              Looks up a localized string similar to Invalid stream name..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidTransaction">
      <summary>
              Looks up a localized string similar to Invalid transaction object..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.InvalidTransactionRequest">
      <summary>
              Looks up a localized string similar to Invalid transaction request..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.NotAReparsePoint">
      <summary>
              Looks up a localized string similar to The file or directory is not a reparse point..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.OffsetMustNotBeNegative">
      <summary>
              Looks up a localized string similar to Offset must not be negative.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.PathAlreadyExists">
      <summary>
              Looks up a localized string similar to Path already exists..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.PathCannotBeEmpty">
      <summary>
              Looks up a localized string similar to The path cannot be an empty string..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.PathFormatUnsupported">
      <summary>
              Looks up a localized string similar to The given path's format is not supported: [{0}].
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.PathIsZeroLengthOrOnlyWhiteSpace">
      <summary>
              Looks up a localized string similar to Path is a zero-length string or contains only white space..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.Privilege_Privilege_name_cannot_be_empty">
      <summary>
              Looks up a localized string similar to name cannot be empty.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.RequiresWindowsVistaOrHigher">
      <summary>
              Looks up a localized string similar to This method requires Windows Vista or higher..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.SafeGlobalMemoryBufferHandle_CopyTo_Source_offset_and_length_outside_the_bounds_of_the_array">
      <summary>
              Looks up a localized string similar to Source offset and length outside the bounds of the array.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.SafeMemoryBufferHandle_CopyTo_Destination_offset_must_not_be_negative">
      <summary>
              Looks up a localized string similar to Destination offset must not be negative.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.SafeMemoryBufferHandle_CopyTo_Length_must_not_be_negative">
      <summary>
              Looks up a localized string similar to Length must not be negative..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.StreamInvalid">
      <summary>
              Looks up a localized string similar to Invalid stream..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.StreamNameWithColon">
      <summary>
              Looks up a localized string similar to Stream name should not contain a colon..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.EDeviceNotReady">
      <summary>
              Looks up a localized string similar to The device is not ready..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.ThisStreamDoesNotSupportSeeking">
      <summary>
              Looks up a localized string similar to This stream does not support seeking..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.TransactionalConflict">
      <summary>
              Looks up a localized string similar to Transactional conflict..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.TransactionAlreadyAborted">
      <summary>
              Looks up a localized string similar to Transaction already aborted..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.TransactionAlreadyCommitted">
      <summary>
              Looks up a localized string similar to Transaction already committed..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.TransactionNotActive">
      <summary>
              Looks up a localized string similar to Transaction not active..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.TransactionNotRequested">
      <summary>
              Looks up a localized string similar to Transaction not requested..
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.UNCPathShouldMatchTheFormatServerShare">
      <summary>
              Looks up a localized string similar to Network share path should match the format: \\server\share.
            </summary>
    </member>
    <member name="P:Alphaleonis.Win32.Resources.UndeterminedCopyMoveAction">
      <summary>
              Looks up a localized string similar to Could not determine Copy or Move action..
            </summary>
    </member>
    <member name="T:Alphaleonis.Win32.SafeNativeMemoryBufferHandle">
      <summary>
            Base class for classes representing a block of unmanaged memory.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.SafeNativeMemoryBufferHandle.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.SafeNativeMemoryBufferHandle" /> specifying the allocated capacity of the memory block. 
            </summary>
      <param name="capacity">The capacity.</param>
    </member>
    <member name="M:Alphaleonis.Win32.SafeNativeMemoryBufferHandle.CopyFrom(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance-
            </summary>
      <param name="source">The one-dimensional array to copy from. </param>
      <param name="startIndex">The zero-based index into the array where Copy should start.</param>
      <param name="length">The number of array elements to copy.</param>
    </member>
    <member name="M:Alphaleonis.Win32.SafeNativeMemoryBufferHandle.CopyTo(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array.
            </summary>
      <param name="destination">The array to copy to.</param>
      <param name="destinationOffset">The zero-based index in the destination array where copying should start.</param>
      <param name="length">The number of array elements to copy.</param>
    </member>
    <member name="P:Alphaleonis.Win32.SafeNativeMemoryBufferHandle.Capacity">
      <summary>
            Gets the capacity. Only valid if this instance was created using a constructor that specifies the size,
            it is not correct if this handle was returned by a native method using p/invoke.
            </summary>
    </member>
    <member name="T:Alphaleonis.Win32.SafeGlobalMemoryBufferHandle">
      <summary>
            Represents a block of native memory of a specified size allocated using the LocalAlloc function from Kernel32.dll.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.SafeGlobalMemoryBufferHandle.#ctor">
      <summary>
            Creates new instance with zero IntPtr
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.SafeGlobalMemoryBufferHandle.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.SafeGlobalMemoryBufferHandle" /> class allocating the specified number of bytes of unmanaged memory.
            </summary>
      <param name="capacity">The capacity.</param>
    </member>
    <member name="M:Alphaleonis.Win32.SafeGlobalMemoryBufferHandle.ReleaseHandle">
      <summary>
            Called when object is disposed or finalized.
            </summary>
    </member>
    <member name="T:Alphaleonis.Win32.Security.ObjectType">
      <summary>The ObjectType (SE_OBJECT_TYPE) enumeration contains values that correspond to the types of Windows objects that support security.
            The functions, such as GetSecurityInfo and SetSecurityInfo, that set and retrieve the security information of an object, use these values to indicate the type of object.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.UnknownObjectType">
      <summary>Unknown object type.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.FileObject">
      <summary>Indicates a file or directory. The name string that identifies a file or directory object can be in one of the following formats:
              A relative path, such as FileName.dat or ..\FileName
              An absolute path, such as FileName.dat, C:\DirectoryName\FileName.dat, or G:\RemoteDirectoryName\FileName.dat.
              A UNC name, such as \\ComputerName\ShareName\FileName.dat.
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.Service">
      <summary>Indicates a Windows service. A service object can be a local service, such as ServiceName, or a remote service, such as \\ComputerName\ServiceName.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.Printer">
      <summary>Indicates a printer. A printer object can be a local printer, such as PrinterName, or a remote printer, such as \\ComputerName\PrinterName.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.RegistryKey">
      <summary>Indicates a registry key. A registry key object can be in the local registry, such as CLASSES_ROOT\SomePath or in a remote registry, such as \\ComputerName\CLASSES_ROOT\SomePath.
            The names of registry keys must use the following literal strings to identify the predefined registry keys: "CLASSES_ROOT", "CURRENT_USER", "MACHINE", and "USERS".
            </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.LmShare">
      <summary>Indicates a network share. A share object can be local, such as ShareName, or remote, such as \\ComputerName\ShareName.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.KernelObject">
      <summary>Indicates a local kernel object. The GetSecurityInfo and SetSecurityInfo functions support all types of kernel objects.
            The GetNamedSecurityInfo and SetNamedSecurityInfo functions work only with the following kernel objects: semaphore, event, mutex, waitable timer, and file mapping.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.WindowObject">
      <summary>Indicates a window station or desktop object on the local computer. You cannot use GetNamedSecurityInfo and SetNamedSecurityInfo with these objects because the names of window stations or desktops are not unique.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.DsObject">
      <summary>Indicates a directory service object or a property set or property of a directory service object.
            The name string for a directory service object must be in X.500 form, for example: CN=SomeObject,OU=ou2,OU=ou1,DC=DomainName,DC=CompanyName,DC=com,O=internet</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.DsObjectAll">
      <summary>Indicates a directory service object and all of its property sets and properties.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.ProviderDefinedObject">
      <summary>Indicates a provider-defined object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.WmiGuidObject">
      <summary>Indicates a WMI object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.ObjectType.RegistryWow6432Key">
      <summary>Indicates an object for a registry entry under WOW64.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Security.SecurityDescriptorControl">
      <summary>The SECURITY_DESCRIPTOR_CONTROL data type is a set of bit flags that qualify the meaning of a security descriptor or its components.
            Each security descriptor has a Control member that stores the SECURITY_DESCRIPTOR_CONTROL bits.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.None">
      <summary>
      </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.OwnerDefaulted">
      <summary>SE_OWNER_DEFAULTED (0x0001) - Indicates an SD with a default owner security identifier (SID). You can use this bit to find all of the objects that have default owner permissions set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.GroupDefaulted">
      <summary>SE_GROUP_DEFAULTED (0x0002) - Indicates an SD with a default group SID. You can use this bit to find all of the objects that have default group permissions set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.DaclPresent">
      <summary>SE_DACL_PRESENT (0x0004) - Indicates an SD that has a discretionary access control list (DACL). If this flag is not set, or if this flag is set and the DACL is NULL, the SD allows full access to everyone.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.DaclDefaulted">
      <summary>SE_DACL_DEFAULTED (0x0008) - Indicates an SD with a default DACL. For example, if an object creator does not specify a DACL, the object receives the default DACL from the access token of the creator. This flag can affect how the system treats the DACL, with respect to access control entry (ACE) inheritance. The system ignores this flag if the SE_DACL_PRESENT flag is not set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SaclPresent">
      <summary>SE_SACL_PRESENT (0x0010) - Indicates an SD that has a system access control list (SACL).</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SaclDefaulted">
      <summary>SE_SACL_DEFAULTED (0x0020) - Indicates an SD with a default SACL. For example, if an object creator does not specify an SACL, the object receives the default SACL from the access token of the creator. This flag can affect how the system treats the SACL, with respect to ACE inheritance. The system ignores this flag if the SE_SACL_PRESENT flag is not set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.DaclAutoInheritReq">
      <summary>SE_DACL_AUTO_INHERIT_REQ (0x0100) - Requests that the provider for the object protected by the SD automatically propagate the DACL to existing child objects. If the provider supports automatic inheritance, it propagates the DACL to any existing child objects, and sets the SE_DACL_AUTO_INHERITED bit in the security descriptors of the object and its child objects.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SaclAutoInheritReq">
      <summary>SE_SACL_AUTO_INHERIT_REQ (0x0200) - Requests that the provider for the object protected by the SD automatically propagate the SACL to existing child objects. If the provider supports automatic inheritance, it propagates the SACL to any existing child objects, and sets the SE_SACL_AUTO_INHERITED bit in the SDs of the object and its child objects.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.DaclAutoInherited">
      <summary>SE_DACL_AUTO_INHERITED (0x0400) - Windows 2000 only. Indicates an SD in which the DACL is set up to support automatic propagation of inheritable ACEs to existing child objects. The system sets this bit when it performs the automatic inheritance algorithm for the object and its existing child objects. This bit is not set in SDs for Windows NT versions 4.0 and earlier, which do not support automatic propagation of inheritable ACEs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SaclAutoInherited">
      <summary>SE_SACL_AUTO_INHERITED (0x0800) - Windows 2000: Indicates an SD in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects. The system sets this bit when it performs the automatic inheritance algorithm for the object and its existing child objects. This bit is not set in SDs for Windows NT versions 4.0 and earlier, which do not support automatic propagation of inheritable ACEs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.DaclProtected">
      <summary>SE_DACL_PROTECTED (0x1000) - Windows 2000: Prevents the DACL of the SD from being modified by inheritable ACEs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SaclProtected">
      <summary>SE_SACL_PROTECTED (0x2000) - Windows 2000: Prevents the SACL of the SD from being modified by inheritable ACEs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.RmControlValid">
      <summary>SE_RM_CONTROL_VALID (0x4000) - Indicates that the resource manager control is valid.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityDescriptorControl.SelfRelative">
      <summary>SE_SELF_RELATIVE (0x8000) - Indicates an SD in self-relative format with all of the security information in a contiguous block of memory. If this flag is not set, the SD is in absolute format. For more information, see Absolute and Self-Relative Security Descriptors.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Security.SecurityInformation">
      <summary>The SECURITY_INFORMATION data type identifies the object-related security information being set or queried.
            This security information includes:
              The owner of an object;
              The primary group of an object;
              The discretionary access control list (DACL) of an object;
              The system access control list (SACL) of an object;
            </summary>
      <remarks>
            An unsigned 32-bit integer specifies portions of a SECURITY_DESCRIPTOR by means of bit flags.
            Individual bit values (combinable with the bitwise OR operation) are as shown in the following table.
            </remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.None">
      <summary>
      </summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Owner">
      <summary>OWNER_SECURITY_INFORMATION (0x00000001) - The owner identifier of the object is being referenced.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Group">
      <summary>GROUP_SECURITY_INFORMATION (0x00000002) - The primary group identifier of the object is being referenced.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Dacl">
      <summary>DACL_SECURITY_INFORMATION (0x00000004) - The DACL of the object is being referenced.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Sacl">
      <summary>SACL_SECURITY_INFORMATION (0x00000008) - The SACL of the object is being referenced.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Label">
      <summary>LABEL_SECURITY_INFORMATION (0x00000010) - The mandatory integrity label is being referenced. The mandatory integrity label is an ACE in the SACL of the object.</summary>
      <remarks>Windows Server 2003 and Windows XP: This bit flag is not available.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Attribute">
      <summary>ATTRIBUTE_SECURITY_INFORMATION (0x00000020) - The resource properties of the object being referenced.
            The resource properties are stored in SYSTEM_RESOURCE_ATTRIBUTE_ACE types in the SACL of the security descriptor.
            </summary>
      <remarks>Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This bit flag is not available.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Scope">
      <summary>SCOPE_SECURITY_INFORMATION (0x00000040) - The Central Access Policy (CAP) identifier applicable on the object that is being referenced.
            Each CAP identifier is stored in a SYSTEM_SCOPED_POLICY_ID_ACE type in the SACL of the SD.
            </summary>
      <remarks>Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This bit flag is not available.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.Backup">
      <summary>BACKUP_SECURITY_INFORMATION (0x00010000) - All parts of the security descriptor. This is useful for backup and restore software that needs to preserve the entire security descriptor.</summary>
      <remarks>Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP: This bit flag is not available.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.UnprotectedSacl">
      <summary>UNPROTECTED_SACL_SECURITY_INFORMATION (0x10000000) - The SACL inherits ACEs from the parent object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.UnprotectedDacl">
      <summary>UNPROTECTED_DACL_SECURITY_INFORMATION (0x20000000) - The DACL inherits ACEs from the parent object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.ProtectedSacl">
      <summary>PROTECTED_SACL_SECURITY_INFORMATION (0x40000000) - The SACL cannot inherit ACEs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.SecurityInformation.ProtectedDacl">
      <summary>PROTECTED_DACL_SECURITY_INFORMATION (0x80000000) - The DACL cannot inherit access control entries (ACEs).</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle">
      <summary>An IntPtr wrapper which can be used as the result of a Marshal.AllocHGlobal operation.
            <para>Calls Marshal.FreeHGlobal when disposed or finalized.</para></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle.#ctor">
      <summary>Creates new instance with zero IntPtr.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle.CopyFrom(System.Byte[],System.Int32,System.Int32)">
      <summary>Copies data from a one-dimensional, managed 8-bit unsigned integer array to the unmanaged memory pointer referenced by this instance.</summary>
      <param name="source">The one-dimensional array to copy from.</param>
      <param name="startIndex">The zero-based index into the array where Copy should start.</param>
      <param name="length">The number of array elements to copy.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Security.SafeLocalMemoryBufferHandle.ReleaseHandle">
      <summary>Called when object is disposed or finalized.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTarget">
      <summary>Indicates whether the link target is a file or directory.</summary>
      <remarks>Used by Win32 API CreateSymbolicLink()/CreateSymbolicLinkTransacted()</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.SymbolicLinkTarget.File">
      <summary>The link target is a file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.SymbolicLinkTarget.Directory">
      <summary>The link target is a directory.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo">
      <summary>Represents information about a symbolic link.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.SymbolicLinkTargetInfo.LinkType">
      <summary>Gets the type of the link.</summary>
      <value>The type of the link.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SymbolicLinkType">
      <summary>Specifies the type of a symbolic link.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.SymbolicLinkType.Absolute">
      <summary>The symbolic link is absolute.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Filesystem.SymbolicLinkType.Relative">
      <summary>The symbolic link is relative.</summary>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.TransactionException">
      <summary>The exception that is thrown when an attempt to create a file or directory that already exists was made.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.TransactionalConflictException">
      <summary>The function attempted to use a name that is reserved for use by another transaction.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionalConflictException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionalConflictException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionalConflictException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionalConflictException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionalConflictException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionalConflictException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionalConflictException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionalConflictException" /> class.</summary>
      <param name="info">The info.</param>
      <param name="context">The context.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException">
      <summary>The function attempted to use a name that is reserved for use by another transaction.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnrecognizedReparsePointException" /> class.</summary>
      <param name="info">The info.</param>
      <param name="context">The context.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException">
      <summary>The remote server or share does not support transacted file operations.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.UnsupportedRemoteTransactionException" /> class.</summary>
      <param name="info">The object that holds the serialized object data.</param>
      <param name="context">The contextual information about the source or destination.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes">
      <summary>Class used to represent the SECURITY_ATTRIBUES native Win32 structure. It provides initialization function from an <see cref="T:System.Security.AccessControl.ObjectSecurity" /> object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.SecurityAttributes.ToUnmanagedSecurityAttributes(System.Security.AccessControl.ObjectSecurity)">
      <summary>
            Marshals an ObjectSecurity instance to unmanaged memory.
            </summary>
      <param name="securityDescriptor">The security descriptor.</param>
      <returns>A safe handle containing the marshalled security descriptor.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.AdjustTokenPrivileges(System.IntPtr,System.Boolean,Alphaleonis.Win32.Security.TokenPrivileges@,System.UInt32,Alphaleonis.Win32.Security.TokenPrivileges@,System.UInt32@)">
      <summary>The AdjustTokenPrivileges function enables or disables privileges in the specified access token. Enabling or disabling privileges in an access token requires TOKEN_ADJUST_PRIVILEGES access.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            To determine whether the function adjusted all of the specified privileges, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.LookupPrivilegeDisplayName(System.String,System.String,System.Text.StringBuilder@,System.UInt32@,System.UInt32@)">
      <summary>The LookupPrivilegeDisplayName function retrieves the display name that represents a specified privilege.</summary>
      <returns>
            If the function succeeds, the return value is nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.LookupPrivilegeValue(System.String,System.String,Alphaleonis.Win32.Security.Luid@)">
      <summary>The LookupPrivilegeValue function retrieves the locally unique identifier (LUID) used on a specified system to locally represent the specified privilege name.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetNamedSecurityInfo(System.String,Alphaleonis.Win32.Security.ObjectType,Alphaleonis.Win32.Security.SecurityInformation,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle@)">
      <summary>The GetNamedSecurityInfo function retrieves a copy of the security descriptor for an object specified by name.
            <para> </para><returns><para>If the function succeeds, the return value is ERROR_SUCCESS.</para><para>If the function fails, the return value is a nonzero error code defined in WinError.h.</para></returns><para> </para><remarks><para>Minimum supported client: Windows XP [desktop apps only]</para><para>Minimum supported server: Windows Server 2003 [desktop apps only]</para></remarks></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityInfo(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Security.ObjectType,Alphaleonis.Win32.Security.SecurityInformation,System.IntPtr@,System.IntPtr@,System.IntPtr@,System.IntPtr@,Alphaleonis.Win32.SafeGlobalMemoryBufferHandle@)">
      <summary>The GetSecurityInfo function retrieves a copy of the security descriptor for an object specified by a handle.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.SetSecurityInfo(System.Runtime.InteropServices.SafeHandle,Alphaleonis.Win32.Security.ObjectType,Alphaleonis.Win32.Security.SecurityInformation,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
      <summary>The SetSecurityInfo function sets specified security information in the security descriptor of a specified object. 
            The caller identifies the object by a handle.</summary>
      <returns>
            If the function succeeds, the function returns ERROR_SUCCESS.
            If the function fails, it returns a nonzero error code defined in WinError.h.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.SetNamedSecurityInfo(System.String,Alphaleonis.Win32.Security.ObjectType,Alphaleonis.Win32.Security.SecurityInformation,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
      <summary>The SetNamedSecurityInfo function sets specified security information in the security descriptor of a specified object. The caller identifies the object by name.
            <para> </para><returns><para>If the function succeeds, the function returns ERROR_SUCCESS.</para><para>If the function fails, it returns a nonzero error code defined in WinError.h.</para></returns><para> </para><remarks><para>Minimum supported client: Windows XP [desktop apps only]</para><para>Minimum supported server: Windows Server 2003 [desktop apps only]</para></remarks></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorDacl(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.Boolean@,System.IntPtr@,System.Boolean@)">
      <summary>The GetSecurityDescriptorDacl function retrieves a pointer to the discretionary access control list (DACL) in a specified security descriptor.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorSacl(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.Boolean@,System.IntPtr@,System.Boolean@)">
      <summary>The GetSecurityDescriptorSacl function retrieves a pointer to the system access control list (SACL) in a specified security descriptor.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorGroup(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.IntPtr@,System.Boolean@)">
      <summary>The GetSecurityDescriptorGroup function retrieves the primary group information from a security descriptor.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorControl(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,Alphaleonis.Win32.Security.SecurityDescriptorControl@,System.UInt32@)">
      <summary>The GetSecurityDescriptorControl function retrieves a security descriptor control and revision information.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorOwner(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle,System.IntPtr@,System.Boolean@)">
      <summary>The GetSecurityDescriptorOwner function retrieves the owner information from a security descriptor.</summary>
      <returns>
            If the function succeeds, the function returns nonzero.
            If the function fails, it returns zero. To get extended error information, call GetLastError.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.GetSecurityDescriptorLength(Alphaleonis.Win32.SafeGlobalMemoryBufferHandle)">
      <summary>The GetSecurityDescriptorLength function returns the length, in bytes, of a structurally valid security descriptor. The length includes the length of all associated structures.</summary>
      <returns>
            If the function succeeds, the function returns the length, in bytes, of the SECURITY_DESCRIPTOR structure.
            If the SECURITY_DESCRIPTOR structure is not valid, the return value is undefined.
            </returns>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="M:Alphaleonis.Win32.Security.NativeMethods.LocalFree(System.IntPtr)">
      <summary>Frees the specified local memory object and invalidates its handle.</summary>
      <returns>
            If the function succeeds, the return value is <see langword="null" />.
            If the function fails, the return value is equal to a handle to the local memory object. To get extended error information, call GetLastError.
            </returns>
      <remarks>SetLastError is set to <see langword="false" />.</remarks>
      <remarks>
            Note  The local functions have greater overhead and provide fewer features than other memory management functions.
            New applications should use the heap functions unless documentation states that a local function should be used.
            For more information, see Global and Local Functions.
            </remarks>
      <remarks>Minimum supported client: Windows XP [desktop apps only]</remarks>
      <remarks>Minimum supported server: Windows Server 2003 [desktop apps only]</remarks>
    </member>
    <member name="T:Alphaleonis.Win32.Security.Privilege">
      <summary>Represents a privilege for an access token. The privileges available on the local machine are available as 
            static instances from this class. To create a <see cref="T:Alphaleonis.Win32.Security.Privilege" /> representing a privilege on another system,
            use the constructor specifying a system name together with one of these static instances.
            </summary>
      <seealso cref="T:Alphaleonis.Win32.Security.PrivilegeEnabler" />
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.AssignPrimaryToken">
      <summary>Required to assign the primary token of a process. User Right: Replace a process-level token.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Audit">
      <summary>Required to generate audit-log entries. Give this privilege to secure servers. User Right: Generate security audits.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Backup">
      <summary>Required to perform backup operations. This privilege causes the system to grant all read access control to any file, regardless of the access control list (ACL) specified for the file. Any access request other than read is still evaluated with the ACL. User Right: Back up files and directories.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.ChangeNotify">
      <summary>Required to receive notifications of changes to files or directories. This privilege also causes the system to skip all traversal access checks. It is enabled by default for all users. User Right: Bypass traverse checking.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.CreateGlobal">
      <summary>Required to create named file mapping objects in the global namespace during Terminal Services sessions. This privilege is enabled by default for administrators, services, and the local system account. User Right: Create global objects.</summary>
      <remarks>Windows XP/2000:  This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.CreatePagefile">
      <summary>Required to create a paging file. User Right: Create a pagefile.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.CreatePermanent">
      <summary>Required to create a permanent object. User Right: Create permanent shared objects.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.CreateSymbolicLink">
      <summary>Required to create a symbolic link. User Right: Create symbolic links.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.CreateToken">
      <summary>Required to create a primary token. User Right: Create a token object.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Debug">
      <summary>Required to debug and adjust the memory of a process owned by another account. User Right: Debug programs.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.EnableDelegation">
      <summary>Required to mark user and computer accounts as trusted for delegation. User Right: Enable computer and user accounts to be trusted for delegation.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Impersonate">
      <summary>Required to impersonate. User Right: Impersonate a client after authentication.</summary>
      <remarks>Windows XP/2000:  This privilege is not supported. Note that this value is supported starting with Windows Server 2003, Windows XP SP2, and Windows 2000 SP4.</remarks>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.IncreaseBasePriority">
      <summary>Required to increase the base priority of a process. User Right: Increase scheduling priority.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.IncreaseQuota">
      <summary>Required to increase the quota assigned to a process. User Right: Adjust memory quotas for a process.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.IncreaseWorkingSet">
      <summary>Required to allocate more memory for applications that run in the context of users. User Right: Increase a process working set.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.LoadDriver">
      <summary>Required to load or unload a device driver. User Right: Load and unload device drivers.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.LockMemory">
      <summary>Required to lock physical pages in memory. User Right: Lock pages in memory.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.MachineAccount">
      <summary>Required to create a computer account. User Right: Add workstations to domain.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.ManageVolume">
      <summary>Required to enable volume management privileges. User Right: Manage the files on a volume.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.ProfileSingleProcess">
      <summary>Required to gather profiling information for a single process. User Right: Profile single process.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Relabel">
      <summary>Required to modify the mandatory integrity level of an object. User Right: Modify an object label.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.RemoteShutdown">
      <summary>Required to shut down a system using a network request. User Right: Force shutdown from a remote system.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Restore">
      <summary>Required to perform restore operations. This privilege causes the system to grant all write access control to any file, regardless of the ACL specified for the file. Any access request other than write is still evaluated with the ACL. Additionally, this privilege enables you to set any valid user or group SID as the owner of a file. User Right: Restore files and directories.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Security">
      <summary>Required to perform a number of security-related functions, such as controlling and viewing audit messages. This privilege identifies its holder as a security operator. User Right: Manage auditing and security log.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Shutdown">
      <summary>Required to shut down a local system. User Right: Shut down the system.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.SyncAgent">
      <summary>Required for a domain controller to use the LDAP directory synchronization services. This privilege enables the holder to read all objects and properties in the directory, regardless of the protection on the objects and properties. By default, it is assigned to the Administrator and LocalSystem accounts on domain controllers. User Right: Synchronize directory service data.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.SystemEnvironment">
      <summary>Required to modify the nonvolatile RAM of systems that use this type of memory to store configuration information. User Right: Modify firmware environment values.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.SystemProfile">
      <summary>Required to gather profiling information for the entire system. User Right: Profile system performance.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.SystemTime">
      <summary>Required to modify the system time. User Right: Change the system time.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.TakeOwnership">
      <summary>Required to take ownership of an object without being granted discretionary access. This privilege allows the owner value to be set only to those values that the holder may legitimately assign as the owner of an object. User Right: Take ownership of files or other objects.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Tcb">
      <summary>This privilege identifies its holder as part of the trusted computer base. Some trusted protected subsystems are granted this privilege. User Right: Act as part of the operating system.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.TimeZone">
      <summary>Required to adjust the time zone associated with the computer's internal clock. User Right: Change the time zone.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.TrustedCredManAccess">
      <summary>Required to access Credential Manager as a trusted caller. User Right: Access Credential Manager as a trusted caller.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.Undock">
      <summary>Required to undock a laptop. User Right: Remove computer from docking station.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Security.Privilege.UnsolicitedInput">
      <summary>Required to read unsolicited input from a terminal device. User Right: Not applicable.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.#ctor(System.String,Alphaleonis.Win32.Security.Privilege)">
      <summary>Create a new <see cref="T:Alphaleonis.Win32.Security.Privilege" /> representing the specified privilege on the specified system.</summary>
      <param name="systemName">Name of the system.</param>
      <param name="privilege">The privilege to copy the privilege name from.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.LookupDisplayName">
      <summary>Retrieves the display name that represents this privilege.</summary>
      <returns>The display name that represents this privilege.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.LookupLuid">
      <summary>Retrieves the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates).</summary>
      <returns>the locally unique identifier (LUID) used on to represent this privilege (on the system from which it originates).</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.Equals(Alphaleonis.Win32.Security.Privilege)">
      <summary>Indicates whether the current object is equal to another object of the same type.</summary>
      <param name="other">An object to compare with this object.</param>
      <returns>
        <see langword="true" /> if the current object is equal to the <paramref name="other" /> parameter; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.Equals(System.Object)">
      <summary>Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.</summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.</param>
      <returns>
        <see langword="true" /> if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, <see langword="false" />.</returns>
      <exception cref="T:System.NullReferenceException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.GetHashCode">
      <summary>Serves as a hash function for a particular type.</summary>
      <returns>A hash code for the current Object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.ToString">
      <summary>Returns the system name for this privilege.</summary>
      <remarks>This is equivalent to <see cref="P:Alphaleonis.Win32.Security.Privilege.Name" />.</remarks>
      <returns>A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Security.Privilege.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Security.Privilege" /> class, representing a privilege with the specified name on the local system.</summary>
      <param name="name">The name.</param>
    </member>
    <member name="P:Alphaleonis.Win32.Security.Privilege.Name">
      <summary>Gets the system name identifying this privilege.</summary>
      <value>The system name identifying this privilege.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Security.PrivilegeEnabler">
      <summary>Used to enable one or more privileges. The privileges specified will be enabled during the lifetime of the instance. Users create an instance of this object in a <c>using</c> statement to ensure that it is properly disposed when the elevated privileges are no longer needed.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.PrivilegeEnabler.#ctor(Alphaleonis.Win32.Security.Privilege,Alphaleonis.Win32.Security.Privilege[])">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Security.PrivilegeEnabler" /> class.
            This will enable the privileges specified (unless already enabled), and ensure that they are disabled again when
            the object is disposed. (Any privileges already enabled will not be disabled).
            </summary>
      <param name="privilege">The privilege to enable.</param>
      <param name="privileges">Additional privileges to enable.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Security.PrivilegeEnabler.Dispose">
      <summary>Makes sure any privileges enabled by this instance are disabled.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Security.PrivilegeEnabler.EnabledPrivileges">
      <summary>Gets the enabled privileges. Note that this might not contain all privileges specified to the constructor. Only the privileges actually enabled by this instance is returned.</summary>
      <value>The enabled privileges.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Security.InternalPrivilegeEnabler">
      <summary>
            This object is used to enable a specific privilege for the currently running process during its lifetime. 
            It should be disposed as soon as the elevated privilege is no longer needed.
            For more information see the documentation on AdjustTokenPrivileges on MSDN.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.InternalPrivilegeEnabler.#ctor(Alphaleonis.Win32.Security.Privilege)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Security.PrivilegeEnabler" /> class and enabling the specified privilege for the currently running process.</summary>
      <param name="privilegeName">The name of the privilege.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Security.InternalPrivilegeEnabler.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            In this case the privilege previously enabled will be disabled.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Security.InternalPrivilegeEnabler.AdjustPrivilege(System.Boolean)">
      <summary>Adjusts the privilege.</summary>
      <param name="enable">
        <see langword="true" /> the privilege will be enabled, otherwise disabled.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.InvalidTransactionException">
      <summary>The transaction handle associated with this operation is not valid.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.InvalidTransactionException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.InvalidTransactionException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.InvalidTransactionException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.InvalidTransactionException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.InvalidTransactionException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.InvalidTransactionException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.InvalidTransactionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.InvalidTransactionException" /> class.</summary>
      <param name="info">The data for serializing or deserializing the object.</param>
      <param name="context">The source and destination for the object.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.KernelTransaction">
      <summary>A KTM transaction object for use with the transacted operations in <see cref="N:Alphaleonis.Win32.Filesystem" /></summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.#ctor(System.Transactions.Transaction)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.KernelTransaction" /> class, internally using the specified <see cref="T:System.Transactions.Transaction" />.
            This method allows the usage of methods accepting a <see cref="T:Alphaleonis.Win32.Filesystem.KernelTransaction" /> with an instance of <see cref="T:System.Transactions.Transaction" />.
            </summary>
      <param name="transaction">The transaction to use for any transactional operations.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.KernelTransaction" /> class with a default security descriptor, infinite timeout and no description.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.#ctor(System.UInt32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.KernelTransaction" /> class with a default security descriptor.</summary>
      <param name="timeout">
        <para>The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state.</para>
      </param>
      <param name="description">A user-readable description of the transaction. This parameter may be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.#ctor(System.Security.AccessControl.ObjectSecurity,System.UInt32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.KernelTransaction" /> class.</summary>
      <param name="securityDescriptor">The <see cref="T:System.Security.AccessControl.ObjectSecurity" /> security descriptor.</param>
      <param name="timeout">
        <para>The time, in milliseconds, when the transaction will be aborted if it has not already reached the prepared state.</para>
        <para>Specify 0 to provide an infinite timeout.</para>
      </param>
      <param name="description">A user-readable description of the transaction. This parameter may be <see langword="null" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.Commit">
      <summary>Requests that the specified transaction be committed.</summary>
      <exception cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException">The transaction was already committed.</exception>
      <exception cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException">The transaction was already aborted.</exception>
      <exception cref="T:System.ComponentModel.Win32Exception">An error occurred</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.Rollback">
      <summary>Requests that the specified transaction be rolled back. This function is synchronous.</summary>
      <exception cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException">The transaction was already committed.</exception>
      <exception cref="T:System.ComponentModel.Win32Exception">An error occurred</exception>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.KernelTransaction.Dispose">
      <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.KernelTransaction.SafeHandle">
      <summary>Gets the safe handle.</summary>
      <value>The safe handle.</value>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SafeFindFileHandle">
      <summary>Represents a wrapper class for a handle used by the FindFirstFile/FindNextFile Win32 API functions.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindFileHandle.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindFileHandle" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindFileHandle.#ctor(System.IntPtr,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindFileHandle" /> class.</summary>
      <param name="handle">The handle.</param>
      <param name="callerHandle">
        <see langword="true" /> [owns handle].</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindFileHandle.ReleaseHandle">
      <summary>When overridden in a derived class, executes the code required to free the handle.</summary>
      <returns>
        <see langword="true" /> if the handle is released successfully; otherwise, in the event of a catastrophic failure, <see langword="false" />. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle">
      <summary>Represents a wrapper class for a handle used by the FindFirstVolumeMountPoint/FindVolumeMountPointClose methods of the Win32 API.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle.#ctor(System.IntPtr,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle" /> class.</summary>
      <param name="handle">The handle.</param>
      <param name="callerHandle">
        <see langword="true" /> [owns handle].</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeMountPointHandle.ReleaseHandle">
      <summary>When overridden in a derived class, executes the code required to free the handle.</summary>
      <returns>
        <see langword="true" /> if the handle is released successfully; otherwise, in the event of a catastrophic failure, <see langword="false" />.
            </returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle">
      <summary>Represents a wrapper class for a handle used by the FindFirstVolume/FindNextVolume methods of the Win32 API.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle.#ctor(System.IntPtr,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle" /> class.</summary>
      <param name="handle">The handle.</param>
      <param name="callerHandle">
        <see langword="true" /> [owns handle].</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeFindVolumeHandle.ReleaseHandle">
      <summary>When overridden in a derived class, executes the code required to free the handle.</summary>
      <returns>
        <see langword="true" /> if the handle is released successfully; otherwise, in the event of a catastrophic failure, <see langword="false" />. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
            </returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.SafeKernelTransactionHandle">
      <summary>
            Provides a concrete implementation of SafeHandle supporting transactions.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeKernelTransactionHandle.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.SafeKernelTransactionHandle" /> class.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.SafeKernelTransactionHandle.ReleaseHandle">
      <summary>When overridden in a derived class, executes the code required to free the handle.</summary>
      <returns>
        <see langword="true" /> if the handle is released successfully; otherwise, in the event of a catastrophic failure, <see langword="false" />. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException">
      <summary>It is too late to perform the requested operation, since the Transaction has already been aborted.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyAbortedException" /> class.</summary>
      <param name="info">The info.</param>
      <param name="context">The context.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException">
      <summary>It is too late to perform the requested operation, since the Transaction has already been committed.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException.#ctor">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException" /> class.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException" /> class.</summary>
      <param name="message">The message.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException.#ctor(System.String,System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException" /> class.</summary>
      <param name="message">The message.</param>
      <param name="innerException">The inner exception.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Initializes a new instance of the <see cref="T:Alphaleonis.Win32.Filesystem.TransactionAlreadyCommittedException" /> class.</summary>
      <param name="info">The object that holds the serialized object data.</param>
      <param name="context">The contextual information about the source or destination.</param>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.Volume">
      <summary>Static class providing utility methods for working with Microsoft Windows devices and volumes.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DefineDosDevice(System.String,System.String)">
      <summary>Defines, redefines, or deletes MS-DOS device names.</summary>
      <param name="deviceName">An MS-DOS device name string specifying the device the function is defining, redefining, or deleting.</param>
      <param name="targetPath">An MS-DOS path that will implement this device.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DefineDosDevice(System.String,System.String,Alphaleonis.Win32.Filesystem.DosDeviceAttributes)">
      <summary>Defines, redefines, or deletes MS-DOS device names.</summary>
      <param name="deviceName">
              An MS-DOS device name string specifying the device the function is defining, redefining, or deleting.
            </param>
      <param name="targetPath">
              &gt;An MS-DOS path that will implement this device. If <paramref name="deviceAttributes" /> parameter has the
              <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath" /> flag specified, <paramref name="targetPath" /> is used as is.
            </param>
      <param name="deviceAttributes">
              The controllable aspects of the DefineDosDevice function, <see cref="T:Alphaleonis.Win32.Filesystem.DosDeviceAttributes" /> flags which will be combined with the
              default.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteDosDevice(System.String)">
      <summary>Deletes an MS-DOS device name.</summary>
      <param name="deviceName">An MS-DOS device name specifying the device to delete.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteDosDevice(System.String,System.String)">
      <summary>Deletes an MS-DOS device name.</summary>
      <param name="deviceName">An MS-DOS device name string specifying the device to delete.</param>
      <param name="targetPath">
              A pointer to a path string that will implement this device. The string is an MS-DOS path string unless the
              <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath" /> flag is specified, in which case this string is a path string.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteDosDevice(System.String,System.String,System.Boolean)">
      <summary>Deletes an MS-DOS device name.</summary>
      <param name="deviceName">An MS-DOS device name string specifying the device to delete.</param>
      <param name="targetPath">
              A pointer to a path string that will implement this device. The string is an MS-DOS path string unless the
              <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath" /> flag is specified, in which case this string is a path string.
            </param>
      <param name="exactMatch">
              Only delete MS-DOS device on an exact name match. If <paramref name="exactMatch" /> is <see langword="true" />,
              <paramref name="targetPath" /> must be the same path used to create the mapping.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteDosDevice(System.String,System.String,Alphaleonis.Win32.Filesystem.DosDeviceAttributes,System.Boolean)">
      <summary>Deletes an MS-DOS device name.</summary>
      <param name="deviceName">An MS-DOS device name string specifying the device to delete.</param>
      <param name="targetPath">
              A pointer to a path string that will implement this device. The string is an MS-DOS path string unless the
              <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath" /> flag is specified, in which case this string is a path string.
            </param>
      <param name="deviceAttributes">
              The controllable aspects of the DefineDosDevice function <see cref="T:Alphaleonis.Win32.Filesystem.DosDeviceAttributes" /> flags which will be combined with the
              default.
            </param>
      <param name="exactMatch">
              Only delete MS-DOS device on an exact name match. If <paramref name="exactMatch" /> is <see langword="true" />,
              <paramref name="targetPath" /> must be the same path used to create the mapping.
            </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.QueryAllDosDevices">
      <summary>Retrieves a list of all existing MS-DOS device names.</summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> with one or more existing MS-DOS device names.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.QueryAllDosDevices(System.String)">
      <summary>Retrieves a list of all existing MS-DOS device names.</summary>
      <param name="deviceName">
              (Optional, default: <see langword="null" />) An MS-DOS device name string specifying the target of the query. This parameter can be
              "sort". In that case a sorted list of all existing MS-DOS device names is returned. This parameter can be <see langword="null" />.
              In that case, the <see cref="M:Alphaleonis.Win32.Filesystem.Volume.QueryDosDevice(System.String,System.String[])" /> function will store a list of all existing MS-DOS device names into the buffer.
            </param>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> with or more existing MS-DOS device names.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.QueryDosDevice(System.String,System.String[])">
      <summary>
              Retrieves information about MS-DOS device names. The function can obtain the current mapping for a particular MS-DOS device name.
              The function can also obtain a list of all existing MS-DOS device names.
            </summary>
      <param name="deviceName">
              An MS-DOS device name string, or part of, specifying the target of the query. This parameter can be <see langword="null" />. In that
              case, the QueryDosDevice function will store a list of all existing MS-DOS device names into the buffer.
            </param>
      <param name="options">
              (Optional, default: <see langword="false" />) If options[0] = <see langword="true" /> a sorted list will be returned.
            </param>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> with one or more existing MS-DOS device names.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetDriveFormat(System.String)">
      <summary>Gets the name of the file system, such as NTFS or FAT32.</summary>
      <remarks>Use DriveFormat to determine what formatting a drive uses.</remarks>
      <param name="drivePath">
              A path to a drive. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <returns>The name of the file system on the specified drive or <see langword="null" />  on failure or if not available.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetDriveNameForNtDeviceName(System.String)">
      <summary>Gets the drive letter from an MS-DOS device name. For example: "\Device\HarddiskVolume2" returns "C:\".</summary>
      <param name="deviceName">An MS-DOS device name.</param>
      <returns>The drive letter from an MS-DOS device name.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetCurrentDriveType">
      <summary>
              Determines, based on the root of the current directory, whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network
              drive.
            </summary>
      <returns>A <see cref="T:System.IO.DriveType" /> object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetDriveType(System.String)">
      <summary>Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.</summary>
      <param name="drivePath">A path to a drive. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\"</param>
      <returns>A <see cref="T:System.IO.DriveType" /> object.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetDiskFreeSpace(System.String)">
      <summary>
              Retrieves information about the amount of space that is available on a disk volume, which is the total amount of space, the total
              amount of free space, and the total amount of free space available to the user that is associated with the calling thread.
            </summary>
      <remarks>The calling application must have FILE_LIST_DIRECTORY access rights for this directory.</remarks>
      <param name="drivePath">
              A path to a drive. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <returns>A <see ref="Alphaleonis.Win32.Filesystem.DiskSpaceInfo" /> class instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetDiskFreeSpace(System.String,System.Nullable{System.Boolean})">
      <summary>
              Retrieves information about the amount of space that is available on a disk volume, which is the total amount of space, the total
              amount of free space, and the total amount of free space available to the user that is associated with the calling thread.
            </summary>
      <remarks>The calling application must have FILE_LIST_DIRECTORY access rights for this directory.</remarks>
      <param name="drivePath">
              A path to a drive. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <param name="spaceInfoType">
        <see langword="null" /> gets both size- and disk cluster information. <see langword="true" /> Get only disk cluster information,
              <see langword="false" /> Get only size information.
            </param>
      <returns>A <see ref="Alphaleonis.Win32.Filesystem.DiskSpaceInfo" /> class instance.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.IsReady(System.String)">
      <summary>Gets a value indicating whether a drive is ready.</summary>
      <param name="drivePath">
              A path to a drive. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <returns>
        <see langword="true" /> if <paramref name="drivePath" /> is ready; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteCurrentVolumeLabel">
      <summary>Deletes the label of the file system volume that is the root of the current directory.
            </summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteVolumeLabel(System.String)">
      <summary>Deletes the label of a file system volume.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="rootPathName">The root directory of a file system volume. This is the volume the function will remove the label.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteVolumeMountPoint(System.String)">
      <summary>Deletes a Drive letter or mounted folder.</summary>
      <remarks>Deleting a mounted folder does not cause the underlying directory to be deleted.</remarks>
      <remarks>
              If the <paramref name="volumeMountPoint" /> parameter is a directory that is not a mounted folder, the function does nothing. The
              directory is not deleted.
            </remarks>
      <remarks>
              It's not an error to attempt to unmount a volume from a volume mount point when there is no volume actually mounted at that volume
              mount point.
            </remarks>
      <param name="volumeMountPoint">The Drive letter or mounted folder to be deleted. For example, X:\ or Y:\MountX\.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.EnumerateVolumeMountPoints(System.String)">
      <summary>
              Returns an enumerable collection of <see cref="T:System.String" /> of all mounted folders (volume mount points) on the specified volume.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="volumeGuid">A <see cref="T:System.String" /> containing the volume <see cref="T:System.Guid" />.</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> of all volume mount points on the specified volume.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.EnumerateVolumePathNames(System.String)">
      <summary>
              Returns an enumerable collection of <see cref="T:System.String" /> drive letters and mounted folder paths for the specified volume.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="volumeGuid">A volume <see cref="T:System.Guid" /> path: \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\.</param>
      <returns>An enumerable collection of <see cref="T:System.String" /> containing the path names for the specified volume.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.EnumerateVolumes">
      <summary>Returns an enumerable collection of <see cref="T:System.String" /> volumes on the computer.</summary>
      <returns>An enumerable collection of <see cref="T:System.String" /> volume names on the computer.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetUniqueVolumeNameForPath(System.String)">
      <summary>
              Get the unique volume name for the given path.
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="volumePathName">
              A path string. Both absolute and relative file and directory names, for example "..", is acceptable in this path. If you specify a
              relative file or directory name without a volume qualifier, GetUniqueVolumeNameForPath returns the Drive letter of the current
              volume.
            </param>
      <returns>
        <para>Returns the unique volume name in the form: "\\?\Volume{GUID}\",</para>
        <para>or <see langword="null" /> on error or if unavailable.</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeDeviceName(System.String)">
      <summary>Retrieves the Win32 Device name from the Volume name.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="volumeName">Name of the Volume.</param>
      <returns>
              The Win32 Device name from the Volume name (for example: "\Device\HarddiskVolume2"), or <see langword="null" /> on error or if
              unavailable.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeDisplayName(System.String)">
      <summary>Gets the shortest display name for the specified <paramref name="volumeName" />.</summary>
      <remarks>This method basically returns the shortest string returned by <see cref="M:Alphaleonis.Win32.Filesystem.Volume.EnumerateVolumePathNames(System.String)" /></remarks>
      <param name="volumeName">A volume <see cref="T:System.Guid" /> path: \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\.</param>
      <returns>
              The shortest display name for the specified volume found, or <see langword="null" /> if no display names were found.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeGuid(System.String)">
      <summary>
              Retrieves a volume <see cref="T:System.Guid" /> path for the volume that is associated with the specified volume mount point (drive letter,
              volume GUID path, or mounted folder).
            </summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="volumeMountPoint">
              The path of a mounted folder (for example, "Y:\MountX\") or a drive letter (for example, "X:\").
            </param>
      <returns>The unique volume name of the form: "\\?\Volume{GUID}\".</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeGuidForNtDeviceName(System.String)">
      <summary>
              Tranlates DosDevicePath to a Volume GUID. For example: "\Device\HarddiskVolumeX\path\filename.ext" can translate to: "\path\
              filename.ext" or: "\\?\Volume{GUID}\path\filename.ext".
            </summary>
      <param name="dosDevice">A DosDevicePath, for example: \Device\HarddiskVolumeX\path\filename.ext.</param>
      <returns>A translated dos path.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeInfo(System.String)">
      <summary>Retrieves information about the file system and volume associated with the specified root file or directorystream.</summary>
      <param name="volumePath">A path that contains the root directory.</param>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.VolumeInfo" /> instance describing the volume associatied with the specified root directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeInfo(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>Retrieves information about the file system and volume associated with the specified root file or directorystream.</summary>
      <param name="volumeHandle">An instance to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> handle.</param>
      <returns>A <see cref="T:Alphaleonis.Win32.Filesystem.VolumeInfo" /> instance describing the volume associatied with the specified root directory.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumeLabel(System.String)">
      <summary>Retrieve the label of a file system volume.</summary>
      <param name="volumePath">
              A path to a volume. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <returns>
              The the label of the file system volume. This function can return <c>string.Empty</c> since a volume label is generally not
              mandatory.
            </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.GetVolumePathName(System.String)">
      <summary>Retrieves the volume mount point where the specified path is mounted.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="path">The path to the volume, for example: "C:\Windows".</param>
      <returns>
        <para>Returns the nearest volume root path for a given directory.</para>
        <para>The volume path name, for example: "C:\Windows" returns: "C:\".</para>
      </returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.IsSameVolume(System.String,System.String)">
      <summary>Determines whether the volume of two file system objects is the same.</summary>
      <param name="path1">The first filesystem ojbect with full path information.</param>
      <param name="path2">The second file system object with full path information.</param>
      <returns>
        <see langword="true" /> if both filesytem objects reside on the same volume, <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.IsVolume(System.String)">
      <summary>Determines whether the specified volume name is a defined volume on the current computer.</summary>
      <param name="volumeMountPoint">
              A path to a volume. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\".
            </param>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.SetCurrentVolumeLabel(System.String)">
      <summary>Sets the label of the file system volume that is the root of the current directory.</summary>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="volumeName" /> is a <see langword="null" /> reference.</exception>
      <param name="volumeName">A name for the volume.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.SetVolumeLabel(System.String,System.String)">
      <summary>Sets the label of a file system volume.</summary>
      <param name="volumePath">
        <para>A path to a volume. For example: "C:\", "\\server\share", or "\\?\Volume{c0580d5e-2ad6-11dc-9924-806e6f6e6963}\"</para>
        <para>If this parameter is <see langword="null" />, the function uses the current drive.</para>
      </param>
      <param name="volumeName">
        <para>A name for the volume.</para>
        <para>If this parameter is <see langword="null" />, the function deletes any existing label</para>
        <para>from the specified volume and does not assign a new label.</para>
      </param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.SetVolumeMountPoint(System.String,System.String)">
      <summary>Associates a volume with a Drive letter or a directory on another volume.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="volumeMountPoint">
              The user-mode path to be associated with the volume. This may be a Drive letter (for example, "X:\")
              or a directory on another volume (for example, "Y:\MountX\").
            </param>
      <param name="volumeGuid">A <see cref="T:System.String" /> containing the volume <see cref="T:System.Guid" />.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DefineDosDeviceInternal(System.Boolean,System.String,System.String,Alphaleonis.Win32.Filesystem.DosDeviceAttributes,System.Boolean)">
      <summary>Unified method DefineDosDeviceInternal() to define, redefine, or delete MS-DOS device names.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="isDefine">
        <see langword="true" /> defines a new MS-DOS device. <see langword="false" /> deletes a previously defined MS-DOS device.
             </param>
      <param name="deviceName">
               An MS-DOS device name string specifying the device the function is defining, redefining, or deleting.
             </param>
      <param name="targetPath">
               A pointer to a path string that will implement this device. The string is an MS-DOS path string unless the
               <see cref="F:Alphaleonis.Win32.Filesystem.DosDeviceAttributes.RawTargetPath" /> flag is specified, in which case this string is a path string.
             </param>
      <param name="deviceAttributes">
               The controllable aspects of the DefineDosDevice function, <see cref="T:Alphaleonis.Win32.Filesystem.DosDeviceAttributes" /> flags which will be combined with the
               default.
             </param>
      <param name="exactMatch">
               Only delete MS-DOS device on an exact name match. If <paramref name="exactMatch" /> is <see langword="true" />,
               <paramref name="targetPath" /> must be the same path used to create the mapping.
             </param>
      <returns>
        <see langword="true" /> on success, <see langword="false" /> otherwise.</returns>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.Volume.DeleteVolumeMountPointInternal(System.String,System.Boolean)">
      <summary>Unified method DeleteVolumeMountPointInternal() to delete a Drive letter or mounted folder.</summary>
      <remarks>Deleting a mounted folder does not cause the underlying directory to be deleted.</remarks>
      <remarks>
              It's not an error to attempt to unmount a volume from a volume mount point when there is no volume actually mounted at that volume
              mount point.
            </remarks>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <param name="volumeMountPoint">The Drive letter or mounted folder to be deleted. For example, X:\ or Y:\MountX\.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any exception that might be thrown a result from a failure, such as unavailable resources.
            </param>
      <returns>If completed successfully returns <see cref="F:Alphaleonis.Win32.Win32Errors.ERROR_SUCCESS" />, otherwise the last error number.</returns>
    </member>
    <member name="T:Alphaleonis.Win32.Filesystem.VolumeInfo">
      <summary>Contains information about a filesystem Volume.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.#ctor(System.String)">
      <summary>Initializes a VolumeInfo instance.</summary>
      <exception cref="T:System.ArgumentNullException">Thrown when one or more required arguments are null.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one or more arguments have unsupported or illegal values.</exception>
      <param name="volumeName">A valid drive path or drive letter. This can be either uppercase or lowercase, 'a' to 'z' or a network share in the format: \\server\share.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.#ctor(System.String,System.Boolean,System.Boolean)">
      <summary>Initializes a VolumeInfo instance.</summary>
      <param name="driveName">A valid drive path or drive letter. This can be either uppercase or lowercase, 'a' to 'z' or a network share in the format: "\\server\share".</param>
      <param name="refresh">Refreshes the state of the object.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle)">
      <summary>Initializes a VolumeInfo instance.</summary>
      <param name="volumeHandle">An instance to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> handle.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Boolean,System.Boolean)">
      <summary>Initializes a VolumeInfo instance.</summary>
      <param name="volumeHandle">An instance to a <see cref="T:Microsoft.Win32.SafeHandles.SafeFileHandle" /> handle.</param>
      <param name="refresh">Refreshes the state of the object.</param>
      <param name="continueOnException">
        <see langword="true" /> suppress any Exception that might be thrown a result from a failure, such as unavailable resources.</param>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.Refresh">
      <summary>Refreshes the state of the object.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Filesystem.VolumeInfo.ToString">
      <summary>Returns the full path of the volume.</summary>
      <returns>A string that represents this instance.</returns>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.CasePreservedNames">
      <summary>The specified volume supports preserved case of file names when it places a name on disk.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.CaseSensitiveSearch">
      <summary>The specified volume supports case-sensitive file names.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.Compression">
      <summary>The specified volume supports file-based compression.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.FileSystemName">
      <summary>Gets the name of the file system, for example, the FAT file system or the NTFS file system.</summary>
      <value>The name of the file system.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.FullPath">
      <summary>The full path to the volume.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.Guid">
      <summary>The volume GUID.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.MaximumComponentLength">
      <summary>Gets the maximum length of a file name component that the file system supports.</summary>
      <value>The maximum length of a file name component that the file system supports.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.Name">
      <summary>Gets the label of the volume.</summary>
      <returns>The label of the volume.</returns>
      <remarks>This property is the label assigned to the volume, such "MyDrive"</remarks>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.NamedStreams">
      <summary>The specified volume supports named streams.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.PersistentAcls">
      <summary>The specified volume preserves and enforces access control lists (ACL).</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.ReadOnlyVolume">
      <summary>The specified volume is read-only.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SequentialWriteOnce">
      <summary>The specified volume supports a single sequential write.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SerialNumber">
      <summary>Gets the volume serial number that the operating system assigns when a hard disk is formatted.</summary>
      <value>The volume serial number that the operating system assigns when a hard disk is formatted.</value>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsEncryption">
      <summary>The specified volume supports the Encrypted File System (EFS).</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsExtendedAttributes">
      <summary>The specified volume supports extended attributes.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsHardLinks">
      <summary>The specified volume supports hard links.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsObjectIds">
      <summary>The specified volume supports object identifiers.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsOpenByFileId">
      <summary>The file system supports open by FileID.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsRemoteStorage">
      <summary>The specified volume supports remote storage. (This property does not appear on MSDN)</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsReparsePoints">
      <summary>The specified volume supports re-parse points.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsSparseFiles">
      <summary>The specified volume supports sparse files.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsTransactions">
      <summary>The specified volume supports transactions.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.SupportsUsnJournal">
      <summary>The specified volume supports update sequence number (USN) journals.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.UnicodeOnDisk">
      <summary>The specified volume supports Unicode in file names as they appear on disk.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.VolumeIsCompressed">
      <summary>The specified volume is a compressed volume, for example, a DoubleSpace volume.</summary>
    </member>
    <member name="P:Alphaleonis.Win32.Filesystem.VolumeInfo.VolumeQuotas">
      <summary>The specified volume supports disk quotas.</summary>
    </member>
    <member name="M:Alphaleonis.Utils.GetEnumDescription(System.Enum)">
      <summary>Gets an attribute on an enum field value.</summary>
      <returns>The description belonging to the enum option, as a string</returns>
      <param name="enumValue">One of the <see cref="T:Alphaleonis.Win32.Filesystem.DeviceGuid" /> enum types.</param>
    </member>
    <member name="M:Alphaleonis.Utils.IsNullOrWhiteSpace(System.String)">
      <summary>Indicates whether a specified string is null, empty, or consists only of white-space characters.</summary>
      <returns>
        <see langword="true" /> if the <paramref name="value" /> parameter is null or <see cref="F:System.String.Empty" />, or if <paramref name="value" /> consists exclusively of white-space characters.</returns>
      <param name="value">The string to test.</param>
    </member>
    <member name="M:Alphaleonis.Utils.UnitSizeToText``1(``0)">
      <summary>Converts a number of type T to string with UnitSize or Percentage suffixed.</summary>
    </member>
    <member name="M:Alphaleonis.Utils.PercentCalculate(System.Double,System.Double,System.Double)">
      <summary>Calculates a percentage value.</summary>
      <param name="currentValue" />
      <param name="minimumValue" />
      <param name="maximumValue" />
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SUCCESS">
      <summary>(0) The operation completed successfully.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.NO_ERROR">
      <summary>(0) The operation completed successfully.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INVALID_FUNCTION">
      <summary>(1) Incorrect function.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_FILE_NOT_FOUND">
      <summary>(2) The system cannot find the file specified.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_PATH_NOT_FOUND">
      <summary>(3) The system cannot find the path specified.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_ACCESS_DENIED">
      <summary>(5) Access is denied.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INVALID_DRIVE">
      <summary>(15) The system cannot find the drive specified.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NOT_SAME_DEVICE">
      <summary>(17) The system cannot move the file to a different disk drive.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NO_MORE_FILES">
      <summary>(18) There are no more files.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NOT_READY">
      <summary>(21) The device is not ready.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SEEK">
      <summary>(25) The drive cannot locate a specific area or track on the disk.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SHARING_VIOLATION">
      <summary>(32) The process cannot access the file because it is being used by another process.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_HANDLE_EOF">
      <summary>(38) Reached the end of the file.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_BAD_NETPATH">
      <summary>(53) The network path was not found.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NETWORK_ACCESS_DENIED">
      <summary>(65) Network access is denied.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_BAD_NET_NAME">
      <summary>(67) The network name cannot be found.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_FILE_EXISTS">
      <summary>(80) The file exists.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INVALID_PARAMETER">
      <summary>(87) The parameter is incorrect.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INSUFFICIENT_BUFFER">
      <summary>(122) The data area passed to a system call is too small.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INVALID_NAME">
      <summary>(123) The filename, directory name, or volume label syntax is incorrect.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SAME_DRIVE">
      <summary>(143) The system cannot join or substitute a drive to or for a directory on the same drive.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_DIR_NOT_EMPTY">
      <summary>(145) The directory is not empty.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_ALREADY_EXISTS">
      <summary>(183) Cannot create a file when that file already exists.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_ENVVAR_NOT_FOUND">
      <summary>(203) The system could not find the environment option that was entered.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_MORE_DATA">
      <summary>(234) More data is available.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NO_MORE_ITEMS">
      <summary>(259) No more data is available.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_DIRECTORY">
      <summary>(267) The directory name is invalid.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_OPERATION_ABORTED">
      <summary>(995) The I/O operation has been aborted because of either a thread exit or an application request.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_IO_PENDING">
      <summary>(997) Overlapped I/O operation is in progress.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_BAD_DEVICE">
      <summary>(1200) The specified device name is invalid.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_EXTENDED_ERROR">
      <summary>(1208) An extended error has occurred.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NO_NETWORK">
      <summary>(1222) The network is not present or not started.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_REQUEST_ABORTED">
      <summary>(1235) The request was aborted.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SUCCESS_REBOOT_INITIATED">
      <summary>(1641) The requested operation completed successfully.
            <para>The system will be restarted so the changes can take effect.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.RPC_X_BAD_STUB_DATA">
      <summary>(1783) The stub received bad data.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SUCCESS_REBOOT_REQUIRED">
      <summary>(3010) The requested operation is successful.
            <para>Changes will not be effective until the system is rebooted.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_SUCCESS_RESTART_REQUIRED">
      <summary>(3011) The requested operation is successful.
            <para>Changes will not be effective until the service is restarted.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_NOT_A_REPARSE_POINT">
      <summary>(4390) The file or directory is not a reparse point.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_FILE_READ_ONLY">
      <summary>(6009) The specified file is read only.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_BAD_RECOVERY_POLICY">
      <summary>(6012) Recovery policy configured for this system contains invalid recovery certificate.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_INVALID_TRANSACTION">
      <summary>(6700) The transaction handle associated with this operation is not valid.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTION_NOT_ACTIVE">
      <summary>(6701) The requested operation was made in the context
            <para>of a transaction that is no longer active.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTION_REQUEST_NOT_VALID">
      <summary>(6702) The requested operation is not valid
            <para>on the Transaction object in its current state.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTION_NOT_REQUESTED">
      <summary>(6703) The caller has called a response API, but the response is not expected
            <para>because the TM did not issue the corresponding request to the caller.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTION_ALREADY_ABORTED">
      <summary>(6704) It is too late to perform the requested operation,
            <para>since the Transaction has already been aborted.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTION_ALREADY_COMMITTED">
      <summary>(6705) It is too late to perform the requested operation,
            <para>since the Transaction has already been committed.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTIONAL_CONFLICT">
      <summary>(6800) The function attempted to use a name
            <para>that is reserved for use by another transaction.</para></summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE">
      <summary>(6805) The remote server or share does not support transacted file operations.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.S_OK">
      <summary>(0) The operation completed successfully.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.NERR_Success">
      <summary>(0) The operation completed successfully.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.NERR_UseNotFound">
      <summary>(2250) The network connection could not be found.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.NERR_NetNameNotFound">
      <summary>(2310) This shared resource does not exist.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.NERR_FileIdNotFound">
      <summary>(2314) There is not an open file with that identification number.</summary>
    </member>
    <member name="F:Alphaleonis.Win32.Win32Errors.CR_SUCCESS">
      <summary>(0) The operation completed successfully.</summary>
    </member>
    <member name="M:Alphaleonis.Win32.Win32Errors.GetHrFromWin32Error(System.UInt32)">
      <summary>Use this to translate error codes into HRESULTs like 0x80070006 for ERROR_INVALID_HANDLE.</summary>
    </member>
    <member name="T:SimpleInjector.ActivationException">
      <summary>
            The standard exception thrown when a container has an error in resolving an object.
            </summary>
    </member>
    <member name="M:SimpleInjector.ActivationException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.ActivationException" /> class.
            </summary>
    </member>
    <member name="M:SimpleInjector.ActivationException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.ActivationException" /> class with a specified error 
            message.
            </summary>
      <param name="message">The message that describes the error.</param>
    </member>
    <member name="M:SimpleInjector.ActivationException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.ActivationException" /> class with a specified error 
            message and a reference to the inner exception that is the cause of this exception.
            </summary>
      <param name="message">
            The error message that explains the reason for the exception. 
            </param>
      <param name="innerException">
            The exception that is the cause of the current exception, or a null reference (Nothing in Visual 
            Basic) if no inner exception is specified. 
            </param>
    </member>
    <member name="M:SimpleInjector.ActivationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.ActivationException" /> class with serialized data.
            </summary>
      <param name="info">
            The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception 
            being thrown. 
            </param>
      <param name="context">
            The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or 
            destination. 
            </param>
      <exception cref="T:System.ArgumentNullException">
            The <paramref name="info" /> parameter is null. 
            </exception>
      <exception cref="T:System.Runtime.Serialization.SerializationException">
            The class name is null or hresult is zero (0). 
            </exception>
    </member>
    <member name="T:SimpleInjector.Advanced.AdvancedExtensions">
      <summary>
            Extension methods for enable advanced scenarios.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.IsLocked(SimpleInjector.Container)">
      <summary>
            Determines whether the specified container is locked making any new registrations. The container
            is automatically locked when <see cref="M:SimpleInjector.Container.GetInstance(System.Type)">GetInstance</see> is called for the
            first time.
            </summary>
      <param name="container">The container.</param>
      <returns>
        <c>true</c> if the specified container is locked; otherwise, <c>false</c>.
            </returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" /> is null.</exception>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.IsVerifying(SimpleInjector.Container)">
      <summary>Determines whether the specified container is currently verifying its configuration.</summary>
      <param name="container">The container.</param>
      <returns>
        <c>true</c> if the specified container is verifying; otherwise, <c>false</c>.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" /> is null.</exception>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.GetInitializer``1(SimpleInjector.Container)">
      <summary>
            Builds up an <see cref="T:System.Action`1" /> delegate wrapping all <see cref="T:System.Action`1" /> delegates that
            are registered using <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">RegisterInitializer</see> and
            that apply to the given <typeparamref name="TService" /> (including delegates that are registered
            for interfaces <typeparamref name="TService" /> implements and base types that 
            <typeparamref name="TService" /> inherits from). <b>Null</b> will be returned when no delegates are
            registered that apply to this type.
            </summary>
      <param name="container">The container.</param>
      <remarks>
            This method has a performance caracteristic of O(n). Prevent from calling this in a performance
            critical path of the application.
            </remarks>
      <typeparam name="TService">The type for with an initializer must be built.</typeparam>
      <returns>An <see cref="T:System.Action`1" /> delegate or <b>null</b>.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.GetItem(SimpleInjector.Container,System.Object)">
      <summary>
            Retrieves an item from the container stored by the given <paramref name="key" /> or null when no
            item is stored by that key.
            </summary>
      <remarks>
        <b>Thread-safety:</b> Calls to this method are thread-safe, but users should take proper
            percausions when they call both <b>GetItem</b> and <see cref="M:SimpleInjector.Advanced.AdvancedExtensions.SetItem(SimpleInjector.Container,System.Object,System.Object)" />.
            </remarks>
      <param name="container">The container.</param>
      <param name="key">The key of the item to retrieve.</param>
      <returns>The stored item or null (Nothing in VB).</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.SetItem(SimpleInjector.Container,System.Object,System.Object)">
      <summary>
            Stores an item by the given <paramref name="key" /> in the container. 
            </summary>
      <remarks>
        <b>Thread-safety:</b> Calls to this method are thread-safe, but users should take proper
            percausions when they call both <see cref="M:SimpleInjector.Advanced.AdvancedExtensions.GetItem(SimpleInjector.Container,System.Object)" /> and <b>SetItem</b>.
            </remarks>
      <param name="container">The container.</param>
      <param name="key">The key of the item to insert or override.</param>
      <param name="item">The actual item. May be null.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="container" /> or
            <paramref name="key" /> is a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Advanced.AdvancedExtensions.AppendToCollection(SimpleInjector.Container,System.Type,SimpleInjector.Registration)">
      <summary>
            Allows appending new registrations to existing registrations made using one of the
            <b>RegisterAll</b> overloads.
            </summary>
      <param name="container">The container.</param>
      <param name="serviceType">The service type of the collection.</param>
      <param name="registration">The registration to append.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when the <paramref name="serviceType" /> is not a
            reference type, is open generic, or ambiguous.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the container is locked.</exception>
      <exception cref="T:System.NotSupportedException">Thrown when the method is called for a registration
            that is made with one of the <b>RegisterAll</b> overloads that accepts a dynamic collection
            (an <b>IEnumerable</b> or <b>IEnumerable&lt;TService&gt;</b>).</exception>
    </member>
    <member name="T:SimpleInjector.Advanced.IConstructorInjectionBehavior">
      <summary>
            Defines the container's behavior for building an expression tree based on the supplied constructor of
            a given type.
            Set the <see cref="P:SimpleInjector.ContainerOptions.ConstructorInjectionBehavior">ConstructorInjectionBehavior</see> 
            property of the container's <see cref="P:SimpleInjector.Container.Options" /> property to change the default behavior 
            of the container.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.IConstructorInjectionBehavior.BuildParameterExpression(System.Reflection.ParameterInfo)">
      <summary>
            Builds an <see cref="T:System.Linq.Expressions.Expression" /> for the supplied <paramref name="parameter" />, based on the
            container's configuration.
            </summary>
      <param name="parameter">The parameter.</param>
      <returns>An <see cref="T:System.Linq.Expressions.Expression" /> that describes the intend of creating that 
            <paramref name="parameter" />.</returns>
    </member>
    <member name="T:SimpleInjector.Advanced.IConstructorResolutionBehavior">
      <summary>
            Defines the container's behavior for finding a suitable constructor for the creation of a type.
            Set the <see cref="P:SimpleInjector.ContainerOptions.ConstructorResolutionBehavior">ConstructorResolutionBehavior</see> 
            property of the container's <see cref="P:SimpleInjector.Container.Options" /> property to change the default behavior 
            of the container.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.IConstructorResolutionBehavior.GetConstructor(System.Type,System.Type)">
      <summary>
            Gets the given <paramref name="implementationType" />'s constructor that can be used by the 
            container to create that instance.
            </summary>
      <param name="serviceType">Type of the abstraction that is requested.</param>
      <param name="implementationType">Type of the implementation to find a suitable constructor for.</param>
      <returns>
            The <see cref="T:System.Reflection.ConstructorInfo" />.
            </returns>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when no suitable constructor could be found.</exception>
    </member>
    <member name="T:SimpleInjector.Advanced.IConstructorVerificationBehavior">
      <summary>
            Defines the container's behavior for verifying the constructor that will be picked by the
            <see cref="T:SimpleInjector.Advanced.IConstructorResolutionBehavior" />.
            Set the <see cref="P:SimpleInjector.ContainerOptions.ConstructorVerificationBehavior">ConstructorVerificationBehavior</see> 
            property of the container's <see cref="P:SimpleInjector.Container.Options" /> property to change the default behavior 
            of the container.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.IConstructorVerificationBehavior.Verify(System.Reflection.ParameterInfo)">
      <summary>Verifies the specified <paramref name="parameter" />.</summary>
      <param name="parameter">The parameter.</param>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when the <paramref name="parameter" /> cannot be 
            used for auto wiring.
            </exception>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="parameter" /> is a
            null reference.</exception>
    </member>
    <member name="T:SimpleInjector.Advanced.IPropertySelectionBehavior">
      <summary>
            Defines the container's behavior for selecting properties to inject during the creation of a type.
            Set the <see cref="P:SimpleInjector.ContainerOptions.PropertySelectionBehavior">PropertySelectionBehavior</see> 
            property of the container's <see cref="P:SimpleInjector.Container.Options" /> property to change the default behavior 
            of the container. By default, no properties will be injected by the container.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.IPropertySelectionBehavior.SelectProperty(System.Type,System.Reflection.PropertyInfo)">
      <summary>
            Determines whether a property should be injected by the container upon creation of its type.
            </summary>
      <param name="serviceType">Type of the abstraction that is requested.</param>
      <param name="propertyInfo">The property to check.</param>
      <returns>True when the property should be injected.</returns>
    </member>
    <member name="T:SimpleInjector.Advanced.InitializationContext">
      <summary>
            An instance of this type will be supplied to the <see cref="T:System.Predicate`1" />
            delegate that is that is supplied to the 
            <see cref="M:SimpleInjector.Container.RegisterInitializer(System.Action{SimpleInjector.Advanced.InstanceInitializationData},System.Predicate{SimpleInjector.Advanced.InitializationContext})">RegisterInitializer</see>
            overload that takes this delegate. This type contains contextual information about the creation and it 
            allows the user to examine the given instance to decide whether the instance should be initialized or 
            not.
            </summary>
    </member>
    <member name="P:SimpleInjector.Advanced.InitializationContext.Producer">
      <summary>
            Gets the <see cref="T:SimpleInjector.InstanceProducer" /> that is responsible for the initialization of the created
            instance.
            </summary>
      <value>The <see cref="T:SimpleInjector.InstanceProducer" /> or null (Nothing in VB) when the instance producer is
            unknown.</value>
    </member>
    <member name="P:SimpleInjector.Advanced.InitializationContext.Registration">
      <summary>
            Gets the <see cref="P:SimpleInjector.Advanced.InitializationContext.Registration" /> that is responsible for the initialization of the created
            instance.
            </summary>
            /// <value>The <see cref="P:SimpleInjector.Advanced.InitializationContext.Registration" />.</value></member>
    <member name="T:SimpleInjector.Advanced.InstanceInitializationData">
      <summary>
            Contains data that can be used to initialize a created instance. This data includes the actual
            created <see cref="P:SimpleInjector.Advanced.InstanceInitializationData.Instance" /> and the <see cref="P:SimpleInjector.Advanced.InstanceInitializationData.Context" /> information about the created instance.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.InstanceInitializationData.GetHashCode">
      <summary>Returns the hash code for this instance.</summary>
      <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.InstanceInitializationData.Equals(System.Object)">
      <summary>Indicates whether this instance and a specified object are equal.</summary>
      <param name="obj">Another object to compare to.</param>
      <returns>True if the current object is equal to the other parameter; otherwise, false.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.InstanceInitializationData.Equals(SimpleInjector.Advanced.InstanceInitializationData)">
      <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
      <param name="other">An object to compare with this object.</param>
      <returns>True if the current object is equal to the other parameter; otherwise, false.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.InstanceInitializationData.op_Equality(SimpleInjector.Advanced.InstanceInitializationData,SimpleInjector.Advanced.InstanceInitializationData)">
      <summary>
            Indicates whether the values of two specified <see cref="T:SimpleInjector.Advanced.InstanceInitializationData" /> objects are equal.
            </summary>
      <param name="first">The first object to compare.</param>
      <param name="second">The second object to compare.</param>
      <returns>True if a and b are equal; otherwise, false.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.InstanceInitializationData.op_Inequality(SimpleInjector.Advanced.InstanceInitializationData,SimpleInjector.Advanced.InstanceInitializationData)">
      <summary>
            Indicates whether the values of two specified  <see cref="T:SimpleInjector.Advanced.InstanceInitializationData" />  objects are 
            not equal.
            </summary>
      <param name="first">The first object to compare.</param>
      <param name="second">The second object to compare.</param>
      <returns>True if a and b are not equal; otherwise, false.</returns>
    </member>
    <member name="P:SimpleInjector.Advanced.InstanceInitializationData.Context">
      <summary>Gets the <see cref="T:SimpleInjector.Advanced.InitializationContext" /> with contextual information about the 
            created instance.</summary>
      <value>The <see cref="T:SimpleInjector.Advanced.InitializationContext" />.</value>
    </member>
    <member name="P:SimpleInjector.Advanced.InstanceInitializationData.Instance">
      <summary>Gets the created instance.</summary>
      <value>The created instance.</value>
    </member>
    <member name="T:SimpleInjector.Advanced.Internal.LazyScope">
      <summary>
            This is an internal type. Only depend on this type when you want to be absolutely sure a future 
            version of the framework will break your code.
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.Internal.LazyScope.#ctor(System.Func{SimpleInjector.Scope},SimpleInjector.Container)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.Advanced.Internal.LazyScope" /> struct.</summary>
      <param name="scopeFactory">The scope factory.</param>
      <param name="container">The container.</param>
    </member>
    <member name="P:SimpleInjector.Advanced.Internal.LazyScope.Value">
      <summary>Gets the lazily initialized Scope of the current LazyScope instance.</summary>
      <value>The current Scope or null.</value>
    </member>
    <member name="T:SimpleInjector.Advanced.Internal.LazyScopedRegistration`2">
      <summary>
            This is an internal type. Only depend on this type when you want to be absolutely sure a future 
            version of the framework will break your code.
            </summary>
      <typeparam name="TService">Service type.</typeparam>
      <typeparam name="TImplementation">Implementation type.</typeparam>
    </member>
    <member name="M:SimpleInjector.Advanced.Internal.LazyScopedRegistration`2.#ctor(SimpleInjector.Registration)">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.Advanced.Internal.LazyScopedRegistration`2" /> 
            struct.</summary>
      <param name="registration">The registration.</param>
    </member>
    <member name="M:SimpleInjector.Advanced.Internal.LazyScopedRegistration`2.GetInstance(SimpleInjector.Scope)">
      <summary>Gets the lazily initialized instance for the of the current LazyScopedRegistration.</summary>
      <param name="scope">The scope that is used to retrieve the instance.</param>
      <returns>The cached instance.</returns>
    </member>
    <member name="T:SimpleInjector.Container">
      <summary>
            The container. Create an instance of this type for registration of dependencies.
            </summary>
      <remarks>
        <para>
          <b>Thread-safety:</b>
            Resolving instances can be done safely from multiple threads concurrently, but registration needs to
            be done from one single thread.
            </para>
        <para> 
            It is therefore safe to call <see cref="M:SimpleInjector.Container.GetInstance(System.Type)" />, <see cref="M:SimpleInjector.Container.GetAllInstances(System.Type)" />, 
            <see cref="M:System.IServiceProvider.GetService(System.Type)">GetService</see>, <see cref="M:SimpleInjector.Container.GetRegistration(System.Type)" /> and
            <see cref="M:SimpleInjector.Container.GetCurrentRegistrations" /> and anything related to resolving instances from multiple thread 
            concurrently. It is however <b>unsafe</b> to call
            <see cref="M:SimpleInjector.Container.Register``2(SimpleInjector.Lifestyle)">RegisterXXX</see>,
            <see cref="E:SimpleInjector.Container.ExpressionBuilding" />, <see cref="E:SimpleInjector.Container.ExpressionBuilt" />, <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" />,
            <see cref="M:SimpleInjector.Container.AddRegistration(System.Type,SimpleInjector.Registration)" /> or anything related to registering from multiple threads concurrently.
            </para>
      </remarks>
    </member>
    <member name="M:SimpleInjector.Container.Register``1">
      <summary>
            Registers that a new instance of <typeparamref name="TConcrete" /> will be returned every time it 
            is requested (transient). Note that calling this method is redundant in most scenarios, because
            the container will return a new instance for unregistered concrete types. Registration is needed
            when the security restrictions of the application's sandbox don't allow the container to create
            such type.
            </summary>
      <typeparam name="TConcrete">The concrete type that will be registered.</typeparam>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <typeparamref name="TConcrete" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when the <typeparamref name="TConcrete" /> is a type
            that can not be created by the container.</exception>
    </member>
    <member name="M:SimpleInjector.Container.Register``1(SimpleInjector.Lifestyle)">
      <summary>
            Registers that an  instance of <typeparamref name="TConcrete" /> will be returned when it 
            is requested. The instance is cached according to the supplied <paramref name="lifestyle" />.
            </summary>
      <typeparam name="TConcrete">The concrete type that will be registered.</typeparam>
      <param name="lifestyle">The lifestyle that specifies how the returned instance will be cached.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <typeparamref name="TConcrete" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when the <typeparamref name="TConcrete" /> is a type
            that can not be created by the container.</exception>
    </member>
    <member name="M:SimpleInjector.Container.Register``2">
      <summary>
            Registers that a new instance of <typeparamref name="TImplementation" /> will be returned every time a
            <typeparamref name="TService" /> is requested.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentException">Thrown when the given <typeparamref name="TImplementation" /> 
            type is not a type that can be created by the container.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.Register``1(System.Func{``0})">
      <summary>
            Registers the specified delegate that allows returning transient instances of 
            <typeparamref name="TService" />. The delegate is expected to always return a new instance on
            each call.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="instanceCreator">The delegate that allows building or creating new instances.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentNullException">
            Thrown when <paramref name="instanceCreator" /> is a null reference.</exception>
    </member>
    <member name="M:SimpleInjector.Container.Register(System.Type)">
      <summary>
            Registers that a new instance of <paramref name="concreteType" /> will be returned every time it 
            is requested (transient).
            </summary>
      <param name="concreteType">The concrete type that will be registered.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="concreteType" /> is a null 
            references (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="concreteType" /> represents an 
            open generic type or is a type that can not be created by the container.
            </exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="concreteType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.Register(System.Type,System.Type)">
      <summary>
            Registers that a new instance of <paramref name="implementation" /> will be returned every time a
            <paramref name="serviceType" /> is requested. If <paramref name="serviceType" /> and 
            <paramref name="implementation" /> represent the same type, the type is registered by itself.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="implementation">The actual type that will be returned when requested.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serviceType" /> or 
            <paramref name="implementation" /> are null references (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="implementation" /> is
            no sub type from <paramref name="serviceType" /> (or the same type), or one of them represents an 
            open generic type.
            </exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.Register(System.Type,System.Func{System.Object})">
      <summary>
            Registers the specified delegate that allows returning instances of <paramref name="serviceType" />.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="instanceCreator">The delegate that will be used for creating new instances.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="serviceType" /> or 
            <paramref name="instanceCreator" /> are null references (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> represents an
            open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle``1">
      <summary>
            Registers a single concrete instance that will be constructed using constructor injection and will
            be returned when this instance is requested by type <typeparamref name="TConcrete" />. 
            This <typeparamref name="TConcrete" /> must be thread-safe when working in a multi-threaded 
            environment.
            </summary>
      <typeparam name="TConcrete">The concrete type that will be registered.</typeparam>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when 
            <typeparamref name="TConcrete" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when the <typeparamref name="TConcrete" /> is a type
            that can not be created by the container.</exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle``2">
      <summary>
            Registers that the same a single instance of type <typeparamref name="TImplementation" /> will be 
            returned every time an <typeparamref name="TService" /> type is requested. If 
            <typeparamref name="TService" /> and <typeparamref name="TImplementation" />  represent the same 
            type, the type is registered by itself. <typeparamref name="TImplementation" /> must be thread-safe 
            when working in a multi-threaded environment.
            </summary>
      <typeparam name="TService">
            The interface or base type that can be used to retrieve the instances.
            </typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentException">Thrown when the given <typeparamref name="TImplementation" /> 
            type is not a type that can be created by the container.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle``1(``0)">
      <summary>
            Registers a single instance that will be returned when an instance of type 
            <typeparamref name="TService" /> is requested. This <paramref name="instance" /> must be thread-safe
            when working in a multi-threaded environment.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instance.</typeparam>
      <param name="instance">The instance to register.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentNullException">
            Thrown when <paramref name="instance" /> is a null reference.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle``1(System.Func{``0})">
      <summary>
            Registers the specified delegate that allows constructing a single instance of 
            <typeparamref name="TService" />. This delegate will be called at most once during the lifetime of 
            the application. The returned instance must be thread-safe when working in a multi-threaded 
            environment.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="instanceCreator">The delegate that allows building or creating this single
            instance.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when a 
            <paramref name="instanceCreator" /> for <typeparamref name="TService" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="instanceCreator" /> is a 
            null reference.</exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle(System.Type,System.Type)">
      <summary>
            Registers that the same instance of type <paramref name="implementation" /> will be returned every 
            time an instance of type <paramref name="serviceType" /> type is requested. If 
            <paramref name="serviceType" /> and <paramref name="implementation" /> represent the same type, the 
            type is registered by itself. <paramref name="implementation" /> must be thread-safe when working 
            in a multi-threaded environment.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="implementation">The actual type that will be returned when requested.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="serviceType" /> or 
            <paramref name="implementation" /> are null references (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="implementation" /> is
            no sub type from <paramref name="serviceType" />, or when one of them represents an open generic
            type.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle(System.Type,System.Func{System.Object})">
      <summary>
            Registers the specified delegate that allows constructing a single <paramref name="serviceType" /> 
            instance. The container will call this delegate at most once during the lifetime of the application.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="instanceCreator">The delegate that will be used for creating that single instance.</param>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> represents an open
            generic type.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="serviceType" /> or 
            <paramref name="instanceCreator" /> are null references (Nothing in
            VB).</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterSingle(System.Type,System.Object)">
      <summary>
            Registers a single instance that will be returned when an instance of type 
            <paramref name="serviceType" /> is requested. This <paramref name="instance" /> must be thread-safe
            when working in a multi-threaded environment.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="instance">The instance to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="serviceType" /> or 
            <paramref name="instance" /> are null references (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="instance" /> is
            no sub type from <paramref name="serviceType" />.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.Register``2(SimpleInjector.Lifestyle)">
      <summary>
            Registers that an instance of <typeparamref name="TImplementation" /> will be returned when an
            instance of type <typeparamref name="TService" /> is requested. The instance is cached according to 
            the supplied <paramref name="lifestyle" />.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <param name="lifestyle">The lifestyle that specifies how the returned instance will be cached.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentException">Thrown when the given <typeparamref name="TImplementation" /> 
            type is not a type that can be created by the container.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.Register``1(System.Func{``0},SimpleInjector.Lifestyle)">
      <summary>
            Registers the specified delegate <paramref name="instanceCreator" /> that will produce instances of
            type <typeparamref name="TService" /> and will be returned when an instance of type 
            <typeparamref name="TService" /> is requested. The delegate is expected to produce new instances on
            each call. The instances are cached according to the supplied <paramref name="lifestyle" />.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="instanceCreator">The delegate that allows building or creating new instances.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned instance will be cached.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <typeparamref name="TService" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentNullException">
            Thrown when one of the supplied arguments is a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Container.Register(System.Type,System.Type,SimpleInjector.Lifestyle)">
      <summary>
            Registers that an instance of type <paramref name="implementationType" /> will be returned when an
            instance of type <paramref name="serviceType" /> is requested. The instance is cached according to 
            the supplied <paramref name="lifestyle" />.
            </summary>
      <param name="serviceType">The interface or base type that can be used to retrieve the instances.</param>
      <param name="implementationType">The concrete type that will be registered.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned instance will be cached.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <paramref name="serviceType" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentException">Thrown when the given <paramref name="implementationType" />
            type is not a type that can be created by the container, when either <paramref name="serviceType" />
            or <paramref name="implementationType" /> are open generic types, or when 
            <paramref name="serviceType" /> is not assignable from the <paramref name="implementationType" />.
            </exception>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Container.Register(System.Type,System.Func{System.Object},SimpleInjector.Lifestyle)">
      <summary>
            Registers the specified delegate <paramref name="instanceCreator" /> that will produce instances of
            type <paramref name="serviceType" /> and will be returned when an instance of type 
            <paramref name="serviceType" /> is requested. The delegate is expected to produce new instances on 
            each call. The instances are cached according to the supplied <paramref name="lifestyle" />.
            </summary>
      <param name="serviceType">The interface or base type that can be used to retrieve instances.</param>
      <param name="instanceCreator">The delegate that allows building or creating new instances.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned instance will be cached.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when the 
            <paramref name="serviceType" /> has already been registered.</exception>
      <exception cref="T:System.ArgumentNullException">
            Thrown when one of the supplied arguments is a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">
      <summary>
            Registers an <see cref="T:System.Action`1" /> delegate that runs after the creation of instances that
            implement or derive from the given <typeparamref name="TService" />. Please note that only instances
            that are created by the container (using constructor injection) can be initialized this way.
            </summary>
      <typeparam name="TService">The type for which the initializer will be registered.</typeparam>
      <param name="instanceInitializer">The delegate that will be called after the instance has been
            constructed and before it is returned.</param>
      <exception cref="T:System.ArgumentNullException">
            Thrown when the <paramref name="instanceInitializer" /> is a null reference.
            </exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered.</exception>
      <remarks>
        <para>
            Multiple <paramref name="instanceInitializer" /> delegates can be registered per 
            <typeparamref name="TService" /> and multiple initializers can be applied on a created instance,
            before it is returned. For instance, when registering a <paramref name="instanceInitializer" />
            for type <see cref="T:System.Object" />, the delegate will be called for every instance created by
            the container, which can be nice for debugging purposes.
            </para>
        <para>
            Note: Initializers are guaranteed to be executed in the order they are registered.
            </para>
        <para>
            The following example shows the usage of the 
            <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">RegisterInitializer</see> method:
            </para>
        <code lang="cs"><![CDATA[
            public interface ITimeProvider { DateTime Now { get; } }
            public interface ICommand { bool SendAsync { get; set; } }
            
            public abstract class CommandBase : ICommand
            {
                ITimeProvider Clock { get; set; }
                
                public bool SendAsync { get; set; }
            }
            
            public class ConcreteCommand : CommandBase { }
            
            [TestMethod]
            public static void TestRegisterInitializer()
            {
                // Arrange
                var container = new Container();
            
                container.Register<ICommand, ConcreteCommand>();
            
                // Configuring property injection for types that implement ICommand:
                container.RegisterInitializer<ICommand>(command =>
                {
                    command.SendAsync = true;
                });
            
                // Configuring property injection for types that implement CommandBase:
                container.RegisterInitializer<CommandBase>(command =>
                {
                    command.Clock = container.GetInstance<ITimeProvider>();
                });
                
                // Act
                var command = (ConcreteCommand)container.GetInstance<ICommand>();
            
                // Assert
                // Because ConcreteCommand implements both ICommand and CommandBase, 
                // both the initializers will have been executed.
                Assert.IsTrue(command.SendAsync);
                Assert.IsNotNull(command.Clock);
            }
            ]]></code>
        <para>
            The container does not use the type information of the requested service type, but it uses the 
            type information of the actual implementation to find all initialized that apply for that 
            type. This makes it possible to have multiple initializers to be applied on a single returned
            instance while keeping performance high.
            </para>
        <para>
            Registered initializers will only be applied to instances that are created by the container self
            (using constructor injection). Types that are newed up manually by supplying a 
            <see cref="T:System.Func`1" /> delegate to the container (using the 
            <see cref="M:SimpleInjector.Container.Register``1(System.Func{``0})" /> and 
            <see cref="M:SimpleInjector.Container.RegisterSingle``1(System.Func{``0})" /> methods) or registered as single instance
            (using <see cref="M:SimpleInjector.Container.RegisterSingle``1(``0)" />) will not trigger initialization.
            When initialization of these instances is needed, this must be done manually, as can be seen in 
            the following example:
            <code lang="cs"><![CDATA[
            [TestMethod]
            public static void TestRegisterInitializer()
            {
                // Arrange
                int initializerCallCount = 0;
                
                var container = new Container();
                
                // Define a initializer for ICommand
                Action<ICommand> commandInitializer = command =>
                {
                    initializerCallCount++;
                });
                
                // Configuring that initializer.
                container.RegisterInitializer<ICommand>(commandInitializer);
                
                container.Register<ICommand>(() =>
                {
                    // Create a ConcreteCommand manually: will not be initialized.
                    var command = new ConcreteCommand("Data Source=.;Initial Catalog=db;");
                
                    // Run the initializer manually.
                    commandInitializer(command);
                
                    return command;
                });
                
                // Act
                var command = container.GetInstance<ICommand>();
            
                // Assert
                // The initializer will only be called once.
                Assert.AreEqual(1, initializerCallCount);
            }
            ]]></code>
            The previous example shows how a manually created instance can still be initialized. Try to
            prevent creating types manually, by changing the design of those classes. If possible, create a
            single public constructor that only contains dependencies that can be resolved.
            </para>
      </remarks>
    </member>
    <member name="M:SimpleInjector.Container.RegisterInitializer(System.Action{SimpleInjector.Advanced.InstanceInitializationData},System.Predicate{SimpleInjector.Advanced.InitializationContext})">
      <summary>
            Registers an <see cref="T:System.Action`1" /> delegate that runs after the 
            creation of instances for which the supplied <paramref name="predicate" /> returns true. Please 
            note that only instances that are created by the container can be initialized this way.
            </summary>
      <param name="instanceInitializer">The delegate that will be called after the instance has been
            constructed and before it is returned.</param>
      <param name="predicate">The predicate that will be used to check whether the given delegate must
            be applied to a registration or not. The given predicate will be called once for each registration
            in the container.</param>
      <exception cref="T:System.ArgumentNullException">
            Thrown when either the <paramref name="instanceInitializer" /> or <paramref name="predicate" /> are 
            null references.
            </exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered.</exception>
      <remarks>
        <para>
            Note: Initializers are guaranteed to be executed in the order they are registered.
            </para>
        <para>
            Note: The <paramref name="predicate" /> is <b>not</b> guaranteed to be called once per registration;
            when a registration's instance is requested for the first time simultaniously over multiple thread,
            the predicate might be called multiple times. The caller of this method is responsible of supplying
            a predicate that is thread-safe.
            </para>
      </remarks>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Registers a dynamic (container uncontrolled) collection of elements of type 
            <typeparamref name="TService" />. A call to <see cref="M:SimpleInjector.Container.GetAllInstances``1" /> will return the 
            <paramref name="collection" /> itself, and updates to the collection will be reflected in the 
            result. If updates are allowed, make sure the collection can be iterated safely if you're running 
            a multi-threaded application.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="collection">The collection to register.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when a <paramref name="collection" />
            for <typeparamref name="TService" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="collection" /> is a null
            reference.</exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll``1(``0[])">
      <summary>
            Registers a collection of singleton elements of type <typeparamref name="TService" />.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="singletons">The collection to register.</param>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when a <paramref name="singletons" />
            for <typeparamref name="TService" /> has already been registered.
            </exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="singletons" /> is a null
            reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when one of the elements of <paramref name="singletons" />
            is a null reference.</exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll``1(System.Type[])">
      <summary>
            Registers an collection of <paramref name="serviceTypes" />, which instances will be resolved when
            enumerating the set returned when a collection of <typeparamref name="TService" /> objects is 
            requested. On enumeration the container is called for each type in the list.
            </summary>
      <typeparam name="TService">The base type or interface for elements in the collection.</typeparam>
      <param name="serviceTypes">The collection of <see cref="T:System.Type" /> objects whose instances
            will be requested from the container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null 
            reference (Nothing in VB).
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceTypes" /> contains a null
            (Nothing in VB) element, a generic type definition, or the <typeparamref name="TService" /> is
            not assignable from one of the given <paramref name="serviceTypes" /> elements.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll``1(System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers a collection of instances of <paramref name="serviceTypes" /> to be returned when
            a collection of <typeparamref name="TService" /> objects is requested.
            </summary>
      <typeparam name="TService">The base type or interface for elements in the collection.</typeparam>
      <param name="serviceTypes">The collection of <see cref="T:System.Type" /> objects whose instances
            will be requested from the container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serviceTypes" /> is a null 
            reference (Nothing in VB).
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceTypes" /> contains a null
            (Nothing in VB) element, a generic type definition, or the <typeparamref name="TService" /> is
            not assignable from one of the given <paramref name="serviceTypes" /> elements.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers an collection of <paramref name="serviceTypes" />, which instances will be resolved when
            enumerating the set returned when a collection of <paramref name="serviceType" /> objects is 
            requested. On enumeration the container is called for each type in the list.
            </summary>
      <param name="serviceType">The base type or interface for elements in the collection.</param>
      <param name="serviceTypes">The collection of <see cref="T:System.Type" /> objects whose instances
            will be requested from the container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null 
            reference (Nothing in VB).
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceTypes" /> contains a null
            (Nothing in VB) element, a generic type definition, or the <paramref name="serviceType" /> is
            not assignable from one of the given <paramref name="serviceTypes" /> elements.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll(System.Type,SimpleInjector.Registration[])">
      <summary>
            Registers an collection of <paramref name="registrations" />, which instances will be resolved when
            enumerating the set returned when a collection of <paramref name="serviceType" /> objects is 
            requested. On enumeration the container is called for each type in the list.
            </summary>
      <param name="serviceType">The base type or interface for elements in the collection.</param>
      <param name="registrations">The collection of <see cref="T:SimpleInjector.Registration" /> objects whose instances
            will be requested from the container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null 
            reference (Nothing in VB).
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="registrations" /> contains a null
            (Nothing in VB) element, the <paramref name="serviceType" /> is a generic type definition, or when 
            <paramref name="serviceType" /> is
            not assignable from one of the given <paramref name="registrations" /> elements.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll(System.Type,System.Collections.Generic.IEnumerable{SimpleInjector.Registration})">
      <summary>
            Registers an collection of <paramref name="registrations" />, which instances will be resolved when
            enumerating the set returned when a collection of <paramref name="serviceType" /> objects is 
            requested. On enumeration the container is called for each type in the list.
            </summary>
      <param name="serviceType">The base type or interface for elements in the collection.</param>
      <param name="registrations">The collection of <see cref="T:SimpleInjector.Registration" /> objects whose instances
            will be requested from the container.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null 
            reference (Nothing in VB).
            </exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="registrations" /> contains a null
            (Nothing in VB) element, the <paramref name="serviceType" /> is a generic type definition, or when 
            <paramref name="serviceType" /> is
            not assignable from one of the given <paramref name="registrations" /> elements.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.RegisterAll(System.Type,System.Collections.IEnumerable)">
      <summary>
            Registers a dynamic (container uncontrolled) collection of elements of type 
            <paramref name="serviceType" />. A call to <see cref="M:SimpleInjector.Container.GetAllInstances``1" /> will return the 
            <paramref name="collection" /> itself, and updates to the collection will be reflected in the 
            result. If updates are allowed, make sure the collection can be iterated safely if you're running 
            a multi-threaded application.
            </summary>
      <param name="serviceType">The base type or interface for elements in the collection.</param>
      <param name="collection">The collection of items to register.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null 
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> represents an
            open generic type.</exception>
    </member>
    <member name="M:SimpleInjector.Container.Verify">
      <summary>
            Verifies the <b>Container</b>. This method will call all registered delegates, 
            iterate registered collections and throws an exception if there was an error.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown when the registration of instances was
            invalid.</exception>
    </member>
    <member name="M:SimpleInjector.Container.AddRegistration(System.Type,SimpleInjector.Registration)">
      <summary>
            Adds the <paramref name="registration" /> for the supplied <paramref name="serviceType" />. This
            method can be used to apply the same <see cref="T:SimpleInjector.Registration" /> to multiple different service
            types.
            </summary>
      <param name="serviceType">The base type or interface to register.</param>
      <param name="registration">The registration that should be stored for the given 
            <paramref name="serviceType" />.</param>
      <example>
        <code lang="cs"><![CDATA[
            public interface IFoo { }
            public interface IBar { }
            public class FooBar : IFoo, IBar { }
            
            public void AddRegistration_SuppliedWithSameSingletonRegistrationTwice_ReturnsSameInstance()
            {
                // Arrange
                Registration registration =
                    Lifestyle.Singleton.CreateRegistration<FooBar, FooBar>(container);
            
                container.AddRegistration(typeof(IFoo), registration);
                container.AddRegistration(typeof(IBar), registration);
            
                // Act
                IFoo foo = container.GetInstance<IFoo>();
                IBar bar  = container.GetInstance<IBar>();
            
                // Assert
                bool fooAndBareAreTheSameInstance = object.ReferenceEquals(foo, bar);
                Assert.IsTrue(fooAndBareAreTheSameInstance);
            }
            ]]></code>
        <para>
            In the example above a singleton registration is created for type <c>FooBar</c> and this 
            registration is added to the container for each interface (<c>IFoo</c> and <c>IBar</c>) that it
            implements. Since both services use the same singleton registration, requesting those services 
            will result in the return of the same (singleton) instance.
            </para>
        <para>
          <see cref="E:SimpleInjector.Container.ExpressionBuilding" /> events are applied to the <see cref="T:System.Linq.Expressions.Expression" /> of the
            <see cref="T:SimpleInjector.Registration" /> instance and are therefore applied once. <see cref="E:SimpleInjector.Container.ExpressionBuilt" /> 
            events on the other hand get applied to the <b>Expression</b> of the <see cref="T:SimpleInjector.InstanceProducer" />.
            Since each <b>AddRegistration</b> gets its own instance producer (that wraps the 
            <b>Registration</b> instance), this means that that <b>ExpressionBuilt</b> events will be 
            applied for each registered service type.
            </para>
        <para>
            The most practical example of this is the use of decorators using one of the 
            <see cref="T:SimpleInjector.Extensions.DecoratorExtensions">RegisterDecorator</see> overloads 
            (decorator registration use the
            <b>ExpressionBuilt</b> event under the covers). Take a look at the following example:
            </para>
        <code lang="cs"><![CDATA[
            public interface IFoo { }
            public interface IBar { }
            public class FooBar : IFoo, IBar { }
            
            public class BarDecorator : IBar
            {
                public BarDecorator(IBar decoratedBar)
                {
                    this.DecoratedBar = decoratedBar;
                }
                
                public IBar DecoratedBar { get; private set; }
            }
            
            public void AddRegistration_SameSingletonRegistrationTwiceAndOneDecoratorApplied_ReturnsSameInstance()
            {
                // Arrange
                Registration registration =
                    Lifestyle.Singleton.CreateRegistration<FooBar, FooBar>(container);
            
                container.AddRegistration(typeof(IFoo), registration);
                container.AddRegistration(typeof(IBar), registration);
                
                // Registere a decorator for IBar, but not for IFoo
                container.RegisterDecorator(typeof(IBar), typeof(BarDecorator));
            
                // Act
                var foo = container.GetInstance<IFoo>();
                var decorator = container.GetInstance<IBar>() as BarDecorator;
                var bar = decorator.DecoratedBar;
            
                // Assert
                bool fooAndBareAreTheSameInstance = object.ReferenceEquals(foo, bar);
                Assert.IsTrue(fooAndBareAreTheSameInstance);
            }
            ]]></code>
            The example shows that the decorator gets applied to <c>IBar</c> but not to <c>IFoo</c>, but that
            the decorated <c>IBar</c> is still the same instance as the resolved <c>IFoo</c> instance.
            </example>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not a reference
            type, is open generic, is ambiguous, when it is not assignable from the 
            <paramref name="registration" />'s <see cref="P:SimpleInjector.Registration.ImplementationType">ImplementationType</see>
            or when the supplied <paramref name="registration" /> is created for a different 
            <see cref="T:SimpleInjector.Container" /> instance.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when this container instance is locked and can not be altered, or when an 
            the <paramref name="serviceType" /> has already been registered.
            </exception>
    </member>
    <member name="M:SimpleInjector.Container.GetInstance``1">
      <summary>Gets an instance of the given <typeparamref name="TService" />.</summary>
      <typeparam name="TService">Type of object requested.</typeparam>
      <returns>The requested service instance.</returns>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when there are errors resolving the service instance.</exception>
    </member>
    <member name="M:SimpleInjector.Container.GetInstance(System.Type)">
      <summary>Gets an instance of the given <paramref name="serviceType" />.</summary>
      <param name="serviceType">Type of object requested.</param>
      <returns>The requested service instance.</returns>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when there are errors resolving the service instance.</exception>
    </member>
    <member name="M:SimpleInjector.Container.GetAllInstances``1">
      <summary>
            Gets all instances of the given <typeparamref name="TService" /> currently registered in the container.
            </summary>
      <typeparam name="TService">Type of object requested.</typeparam>
      <returns>A sequence of instances of the requested TService.</returns>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when there are errors resolving the service instance.</exception>
    </member>
    <member name="M:SimpleInjector.Container.GetAllInstances(System.Type)">
      <summary>
            Gets all instances of the given <paramref name="serviceType" /> currently registered in the container.
            </summary>
      <param name="serviceType">Type of object requested.</param>
      <returns>A sequence of instances of the requested serviceType.</returns>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when there are errors resolving the service instance.</exception>
    </member>
    <member name="M:SimpleInjector.Container.GetRegistration(System.Type)">
      <summary>
            Gets the <see cref="T:SimpleInjector.InstanceProducer" /> for the given <paramref name="serviceType" />. When no
            registration exists, the container will try creating a new producer. A producer can be created
            when the type is a concrete reference type, there is an <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" />
            event registered that acts on that type, or when the service type is an <see cref="T:System.Collections.Generic.IEnumerable`1" />.
            Otherwise <b>null</b> (Nothing in VB) is returned.
            </summary>
      <remarks>
        <para>
            A call to this method locks the container. No new registrations can't be made after a call to this 
            method.
            </para>
        <para>
          <b>Note:</b> This method is <i>not</i> guaranteed to always return the same 
            <see cref="T:SimpleInjector.InstanceProducer" /> instance for a given <see cref="T:System.Type" />. It will however either 
            always return <b>null</b> or always return a producer that is able to return the expected instance.
            </para>
      </remarks>
      <param name="serviceType">The <see cref="T:System.Type" /> that the returned instance producer should produce.</param>
      <returns>An <see cref="T:SimpleInjector.InstanceProducer" /> or <b>null</b> (Nothing in VB).</returns>
    </member>
    <member name="M:SimpleInjector.Container.GetRegistration(System.Type,System.Boolean)">
      <summary>
            Gets the <see cref="T:SimpleInjector.InstanceProducer" /> for the given <paramref name="serviceType" />. When no
            registration exists, the container will try creating a new producer. A producer can be created
            when the type is a concrete reference type, there is an <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" />
            event registered that acts on that type, or when the service type is an <see cref="T:System.Collections.Generic.IEnumerable`1" />.
            Otherwise <b>null</b> (Nothing in VB) is returned, or an exception is throw when
            <paramref name="throwOnFailure" /> is set to <b>true</b>.
            </summary>
      <remarks>
        <para>
            A call to this method locks the container. No new registrations can't be made after a call to this 
            method.
            </para>
        <para>
          <b>Note:</b> This method is <i>not</i> guaranteed to always return the same 
            <see cref="T:SimpleInjector.InstanceProducer" /> instance for a given <see cref="T:System.Type" />. It will however either 
            always return <b>null</b> or always return a producer that is able to return the expected instance.
            </para>
      </remarks>
      <param name="serviceType">The <see cref="T:System.Type" /> that the returned instance producer should produce.</param>
      <param name="throwOnFailure">The indication whether the method should return null or throw
            an exception when the type is not registered.</param>
      <returns>An <see cref="T:SimpleInjector.InstanceProducer" /> or <b>null</b> (Nothing in VB).</returns>
    </member>
    <member name="M:SimpleInjector.Container.InjectProperties(System.Object)">
      <summary>
            Injects all public writable properties of the given <paramref name="instance" /> that have a type
            that can be resolved by this container instance.
            <b>NOTE:</b> This method will be removed in a future release. To use property injection,
            implement a custom the <see cref="T:SimpleInjector.Advanced.IPropertySelectionBehavior" /> instead. For more information,
            read the 
            <a href="https://simpleinjector.codeplex.com/wikipage?title=Extendibility-Points#Property-Injection">extendibility points</a> 
            wiki.
            </summary>
      <param name="instance">The instance whos properties will be injected.</param>
      <exception cref="T:System.ArgumentNullException">
            Thrown when the <paramref name="instance" /> is null (Nothing in VB).</exception>
      <exception cref="T:SimpleInjector.ActivationException">Throw when injecting properties on the given instance
            failed due to security constraints of the sandbox. This can happen when injecting properties
            on an internal type in a Silverlight sandbox, or when running in partial trust.</exception>
    </member>
    <member name="M:SimpleInjector.Container.#ctor">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.Container" /> class.</summary>
    </member>
    <member name="M:SimpleInjector.Container.#ctor(SimpleInjector.ContainerOptions)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.Container" /> class.</summary>
      <param name="options">The container options.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="options" /> is a null
            reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when supplied <paramref name="options" /> is an instance
            that already is supplied to another <see cref="T:SimpleInjector.Container" /> instance. Every container must get
            its own <see cref="T:SimpleInjector.ContainerOptions" /> instance.</exception>
    </member>
    <member name="M:SimpleInjector.Container.GetCurrentRegistrations">
      <summary>
            Returns an array with the current registrations. This list contains all explicitly registered
            types, and all implicitly registered instances. Implicit registrations are  all concrete 
            unregistered types that have been requested, all types that have been resolved using
            unregistered type resolution (using the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" /> event), and
            requested unregistered collections. Note that the result of this method may change over time, 
            because of these implicit registrations.
            </summary>
      <remarks>
        <para>
            This method has a performance characteristic of O(n). Prevent from calling this in a performance
            critical path of the application.
            </para>
        <para>
          <b>Note:</b> This method is <i>not</i> guaranteed to always return the same 
            <see cref="T:SimpleInjector.InstanceProducer" /> instance for a given registration. It will however either 
            always return a producer that is able to return the expected instance. Because of this, do not 
            compare sets of instances returned by different calls to <see cref="M:SimpleInjector.Container.GetCurrentRegistrations" /> 
            by reference. The way of comparing lists is by the actual type. The type of each instance is 
            guaranteed to be unique in the returned list.
            </para>
      </remarks>
      <returns>An array of <see cref="T:SimpleInjector.InstanceProducer" /> instances.</returns>
    </member>
    <member name="M:SimpleInjector.Container.Equals(System.Object)">
      <summary>Determines whether the specified System.Object is equal to the current System.Object.
            </summary>
      <param name="obj">The System.Object to compare with the current System.Object.</param>
      <returns>
            True if the specified System.Object is equal to the current System.Object; otherwise, false.
            </returns>
    </member>
    <member name="M:SimpleInjector.Container.GetHashCode">
      <summary>Returns the hash code of the current instance.</summary>
      <returns>The hash code of the current instance.</returns>
    </member>
    <member name="M:SimpleInjector.Container.ToString">
      <summary>
            Returns a <see cref="T:System.String" /> that represents the <see cref="T:SimpleInjector.Container" />.
            </summary>
      <returns>
            A <see cref="T:System.String" /> that represents the <see cref="T:SimpleInjector.Container" />.
            </returns>
    </member>
    <member name="M:SimpleInjector.Container.GetType">
      <summary>Gets the <see cref="T:System.Type" /> of the current instance.</summary>
      <returns>The <see cref="T:System.Type" /> instance that represents the exact runtime 
            type of the current instance.</returns>
    </member>
    <member name="M:SimpleInjector.Container.LockContainer">
      <summary>Prevents any new registrations to be made to the container.</summary>
    </member>
    <member name="P:SimpleInjector.Container.Options">
      <summary>Gets the container options.</summary>
      <value>The <see cref="T:SimpleInjector.ContainerOptions" /> instance for this container.</value>
    </member>
    <member name="E:SimpleInjector.Container.ResolveUnregisteredType">
      <summary>
             Occurs when an instance of a type is requested that has not been registered explicitly, allowing 
             resolution of unregistered types before the container tries to create the type.
             </summary>
      <remarks>
        <para>
             The <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" /> event is called by the container every time an 
             unregistered type is requested for the first time, allowing a developer to do unregistered type 
             resolution. By calling the 
             <see cref="M:SimpleInjector.UnregisteredTypeEventArgs.Register(SimpleInjector.Registration)">Register</see> method on the
             <see cref="T:SimpleInjector.UnregisteredTypeEventArgs" />, a <see cref="T:SimpleInjector.Registration" />, <see cref="T:System.Linq.Expressions.Expression" /> or
             <see cref="T:System.Func`1" /> delegate can be registered allowing the container to retrieve 
             instances of the requested type. This registration is cached and it prevents the 
             <b>ResolveUnregisteredType</b> event from being called again for the same type.
             </para>
        <para>
             When no registered event handled the registration of an unregistered type, the container will try
             to create the type when this type is either concrete or is the <see cref="T:System.Collections.Generic.IEnumerable`1" />
             interface. Concrete types will be registered with the <see cref="F:SimpleInjector.Lifestyle.Transient">Transient</see>
             lifestyle and <see cref="T:System.Collections.Generic.IEnumerable`1" /> registrations will return an empty collection. When no 
             even handled the registration and the container could not create it, an exception is thrown.
             </para>
        <para>
          <b>Thread-safety:</b> Please note that the container will not ensure that the hooked delegates
             are executed only once. While the calls to <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" /> for a given type
             are finite (and will in most cases happen just once), a container can call the delegate multiple 
             times and make parallel calls to the delegate. You must make sure that the code can be called 
             multiple times and is thread-safe.
             </para>
      </remarks>
      <example>
             The following example shows the usage of the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" /> event:
             <code lang="cs"><![CDATA[
             public interface IValidator<T>
             {
                 void Validate(T instance);
             }
            
             // Implementation of the null object pattern.
             public class EmptyValidator<T> : IValidator<T>
             {
                 public void Validate(T instance)
                 {
                     // Does nothing.
                 }
             }
             
             [TestMethod]
             public void TestResolveUnregisteredType()
             {
                 // Arrange
                 var container = new Container();
             
                 // Register an EmptyValidator<T> to be returned when a IValidator<T> is requested:
                 container.ResolveUnregisteredType += (sender, e) =>
                 {
                     if (e.UnregisteredServiceType.IsGenericType &&
                         e.UnregisteredServiceType.GetGenericTypeDefinition() == typeof(IValidator<>))
                     {
                         var validatorType = typeof(EmptyValidator<>).MakeGenericType(
                             e.UnregisteredServiceType.GetGenericArguments());
                 
                         object emptyValidator = container.GetInstance(validatorType);
                 
                         // Register the instance as singleton.
                         e.Register(() => emptyValidator);
                     }
                 };
                 
                 // Act
                 var orderValidator = container.GetInstance<IValidator<Order>>();
                 var customerValidator = container.GetInstance<IValidator<Customer>>();
             
                 // Assert
                 Assert.IsInstanceOfType(orderValidator, typeof(EmptyValidator<Order>));
                 Assert.IsInstanceOfType(customerValidator, typeof(EmptyValidator<Customer>));
             }
             ]]></code><para>
             The example above registers a delegate that is raised every time an unregistered type is requested
             from the container. The delegate checks whether the requested type is a closed generic
             implementation of the <b>IValidator&lt;T&gt;</b> interface (such as 
             <b>IValidator&lt;Order&gt;</b> or <b>IValidator&lt;Customer&gt;</b>). In that case it
             will request the container for a concrete <b>EmptyValidator&lt;T&gt;</b> implementation that
             implements the given 
             <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType">UnregisteredServiceType</see>, and
             registers a delegate that will return this created instance. The <b>e.Register</b> call
             registers the method in the container, preventing the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType" /> from
             being called again for the exact same service type, preventing any performance penalties.
             </para><para>
             Please note that given example is just an uhhmm... example. In the case of the example the
             <b>EmptyValidator&lt;T&gt;</b> can be better registered using of the built-in 
             <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see> 
             extension methods instead. These extension methods take care of any given generic type constraint
             and allow the implementation to be integrated into the container's pipeline, which allows
             it to be intercepted using the <see cref="E:SimpleInjector.Container.ExpressionBuilding" /> event and allow any registered
             <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> to be applied.
             </para></example>
    </member>
    <member name="E:SimpleInjector.Container.ExpressionBuilt">
      <summary>
             Occurs after the creation of the <see cref="T:System.Linq.Expressions.Expression" /> of a registered type is complete (the 
             lifestyle has been applied), allowing the created <see cref="T:System.Linq.Expressions.Expression" /> to be wrapped, 
             changed, or replaced. Multiple delegates may handle the same service type.
             </summary>
      <remarks>
        <para>
             The <b>ExpressionBuilt</b> event is called by the container every time an registered type is 
             getting compiled, allowing a developer to change the way the type is created. The delegate that
             hooks to the <b>ExpressionBuilt</b> event, can change the 
             <see cref="P:SimpleInjector.ExpressionBuiltEventArgs.Expression" /> property on the 
             <see cref="T:SimpleInjector.ExpressionBuiltEventArgs" />, which allows changing the way the type is constructed.
             </para>
        <para>
          <b>Thread-safety:</b> Please note that the container will not ensure that the hooked delegates
             are executed only once per service type. While the calls to <see cref="E:SimpleInjector.Container.ExpressionBuilt" /> for a 
             given type are finite (and will in most cases happen just once), a container can call the delegate 
             multiple times and make parallel calls to the delegate. You must make sure that the code can be 
             called multiple times and is thread-safe.
             </para>
      </remarks>
      <example>
             The following example shows the usage of the <b>ExpressionBuilt</b> event:
             <code lang="cs"><![CDATA[
             public interface IValidator<T>
             {
                 void Validate(T instance);
             }
            
             public interface ILogger
             {
                 void Write(string message);
             }
            
             // Implementation of the decorator pattern.
             public class MonitoringValidator<T> : IValidator<T>
             {
                 private readonly IValidator<T> validator;
                 private readonly ILogger logger;
            
                 public MonitoringValidator(IValidator<T> validator, ILogger logger)
                 {
                     this.validator = validator;
                     this.logger = logger;
                 }
            
                 public void Validate(T instance)
                 {
                     this.logger.Write("Validating " + typeof(T).Name);
                     this.validator.Validate(instance);
                     this.logger.Write("Validated " + typeof(T).Name);
                 }
             }
            
             [TestMethod]
             public void TestExpressionBuilt()
             {
                 // Arrange
                 var container = new Container();
            
                 container.RegisterSingle<ILogger, ConsoleLogger>();
                 container.Register<IValidator<Order>, OrderValidator>();
                 container.Register<IValidator<Customer>, CustomerValidator>();
            
                 // Intercept the creation of IValidator<T> instances and wrap them in a MonitoringValidator<T>:
                 container.ExpressionBuilt += (sender, e) =>
                 {
                     if (e.RegisteredServiceType.IsGenericType &&
                         e.RegisteredServiceType.GetGenericTypeDefinition() == typeof(IValidator<>))
                     {
                         var decoratorType = typeof(MonitoringValidator<>)
                             .MakeGenericType(e.RegisteredServiceType.GetGenericArguments());
            
                         // Wrap the IValidator<T> in a MonitoringValidator<T>.
                         e.Expression = Expression.New(decoratorType.GetConstructors()[0], new Expression[]
                         {
                             e.Expression,
                             container.GetRegistration(typeof(ILogger)).BuildExpression(),
                         });
                     }
                 };
            
                 // Act
                 var orderValidator = container.GetInstance<IValidator<Order>>();
                 var customerValidator = container.GetInstance<IValidator<Customer>>();
            
                 // Assert
                 Assert.IsInstanceOfType(orderValidator, typeof(MonitoringValidator<Order>));
                 Assert.IsInstanceOfType(customerValidator, typeof(MonitoringValidator<Customer>));
             }
             ]]></code><para>
             The example above registers a delegate that is raised every time the container compiles the
             expression for an registered type. The delegate checks whether the requested type is a closed generic
             implementation of the <b>IValidator&lt;T&gt;</b> interface (such as 
             <b>IValidator&lt;Order&gt;</b> or <b>IValidator&lt;Customer&gt;</b>). In that case it
             will changes the current <see cref="P:SimpleInjector.ExpressionBuiltEventArgs.Expression" /> with a new one that creates
             a new <b>MonitoringValidator&lt;T&gt;</b> that takes the current validator (and an <b>ILogger</b>)
             as an dependency.
             </para><para>
             Please note that given example is just an uhhmm... example. In the case of the example the
             <b>MonitoringValidator&lt;T&gt;</b> is a decorator and instead of manually writing this code that
             many limitations, you can use one of the built-in 
             <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterDecorator</see> extension methods instead.
             These extension methods take care of any given generic type constraint, allow to register decorators
             conditionally and allow the decorator to be integrated into the container's pipeline, which allows
             it to be intercepted using the <see cref="E:SimpleInjector.Container.ExpressionBuilding" /> event and allow any registered
             <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> to be applied.
             </para></example>
    </member>
    <member name="E:SimpleInjector.Container.ExpressionBuilding">
      <summary>
            Occurs directly after the creation of the <see cref="T:System.Linq.Expressions.Expression" /> of a registered type is made,
            but before any <see cref="M:SimpleInjector.Container.RegisterInitializer(System.Action{SimpleInjector.Advanced.InstanceInitializationData},System.Predicate{SimpleInjector.Advanced.InitializationContext})">initializer</see> and lifestyle specific caching
            has been applied, allowing the created <see cref="T:System.Linq.Expressions.Expression" /> to be altered. Multiple delegates 
            may handle the same service type.
            </summary>
      <remarks>
        <para>
            The <b>ExpressionBuilding</b> event is called by the container every time an registered type is 
            getting compiled, allowing a developer to change the way the type is created. The delegate that
            hooks to the <b>ExpressionBuilding</b> event, can change the 
            <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression" /> property on the 
            <see cref="T:SimpleInjector.ExpressionBuildingEventArgs" />, which allows changing the way the type is constructed.
            </para>
        <para>
            The exact <see cref="T:System.Linq.Expressions.Expression" /> type supplied depends on the type of registration. 
            Registrations that explicitly supply the implementation type (such as 
            <see cref="M:SimpleInjector.Container.Register``2">Register&lt;TService, TImplementation&gt;()</see>)
            will result in an <see cref="T:System.Linq.Expressions.NewExpression" />, while registrations that take a delegate (such as
            <see cref="M:SimpleInjector.Container.Register``1(System.Func{``0})">Register&lt;TService&gt;(Func&lt;TService&gt;)</see>)
            will result in an <see cref="T:System.Linq.Expressions.InvocationExpression" />. Singletons that are passed in using their
            value (<see cref="M:SimpleInjector.Container.RegisterSingle``1(``0)">RegisterSingle&lt;TService&gt;(TService)</see>)
            will result in an <see cref="T:System.Linq.Expressions.ConstantExpression" />. Note that other <b>ExpressionBuilding</b> 
            registrations might have changed the <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression" /> 
            property and might have supplied an <see cref="T:System.Linq.Expressions.Expression" /> of a different type. The order in
            which these events are registered might be of importantance to you.
            </para>
        <para>
          <b>Thread-safety:</b> Please note that the container will not ensure that the hooked delegates
            are executed only once per service type. While the calls to registered <b>ExpressionBuilding</b>
            events for a  given type are finite (and will in most cases happen just once), a container can 
            call the delegate multiple times and make parallel calls to the delegate. You must make sure that 
            the code can be called multiple times and is thread-safe.
            </para>
      </remarks>
      <example>
            The following example shows the usage of the <b>ExpressionBuilding</b> event:
            <code lang="cs"><![CDATA[
            public class MyInjectPropertyAttribute : Attribute { }
            
            public static void Bootstrap()
            {
                var container = new Container();
                
                container.ExpressionBuilding += (sender, e) =>
                {
                    var expression = e.Expression as NewExpression;
                
                    if (expression != null)
                    {
                        var propertiesToInject =
                            from property in expression.Constructor.DeclaringType.GetProperties()
                            where property.GetCustomAttributes(typeof(MyInjectPropertyAttribute), true).Any()
                            let registration = container.GetRegistration(property.PropertyType, true)
                            select Tuple.Create(property, registration);
                
                        if (propertiesToInject.Any())
                        {
                            Func<object, Tuple<PropertyInfo, InstanceProducer>[], object> injectorDelegate =
                                (instance, dependencies) =>
                                {
                                    foreach (var dependency in dependencies)
                                    {
                                        dependency.Item1.SetValue(instance, dependency.Item2.GetInstance(), null);
                                    }
                
                                    return instance;
                                };
                
                            e.Expression = Expression.Convert(
                                Expression.Invoke(
                                    Expression.Constant(injectorDelegate),
                                    e.Expression,
                                    Expression.Constant(propertiesToInject.ToArray())),
                                expression.Constructor.DeclaringType);
                        }
                    }
                };
            }
            ]]></code><para>
            The example above registers a delegate that is raised every time the container compiles the
            expression for an registered type. The delegate checks if the type contains properties that are
            decorated with the supplied <b>MyInjectPropertyAttribute</b>. If decorated properties are found,
            the given expression is replaced with an expression that injects decorated properties.
            </para><para>
            The example differs from the container's built-in <see cref="M:SimpleInjector.Container.InjectProperties(System.Object)" /> method in that
            it will fail when one of the decorated properties can not be injected. The built-in
            <see cref="M:SimpleInjector.Container.InjectProperties(System.Object)" /> will look at all properties of a given class and will simply skip
            over any properties that can not be injected, making the use of the <see cref="M:SimpleInjector.Container.InjectProperties(System.Object)" />
            method often verify fragile and error prone.
            </para></example>
    </member>
    <member name="T:SimpleInjector.Scope">
      <summary>Implements a cache for <see cref="T:SimpleInjector.ScopedLifestyle" /> implementations.</summary>
      <remarks>
        <see cref="T:SimpleInjector.Scope" /> is thread-safe can be used over multiple threads concurrently.
            </remarks>
    </member>
    <member name="M:SimpleInjector.Scope.WhenScopeEnds(System.Action)">
      <summary>
            Allows registering an <paramref name="action" /> delegate that will be called when the scope ends,
            but before the scope disposes any instances.
            </summary>
      <remarks>
            During the call to <see cref="M:SimpleInjector.Scope.Dispose" /> all registered <see cref="T:System.Action" /> delegates are
            processed in the order of registration. Do note that registered actions <b>are not guaranteed
            to run</b>. In case an exception is thrown during the call to <see cref="M:SimpleInjector.Scope.Dispose" />, the 
            <see cref="T:SimpleInjector.Scope" /> will stop running any actions that might not have been invoked at that point. 
            Instances that are registered for disposal using <see cref="M:SimpleInjector.Scope.RegisterForDisposal(System.IDisposable)" /> on the other
            hand, are guaranteed to be disposed. Note that registered actions won't be invoked during a call
            to <see cref="M:SimpleInjector.Container.Verify" />.
            </remarks>
      <param name="action">The delegate to run when the scope ends.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown when the scope has been disposed.</exception>
    </member>
    <member name="M:SimpleInjector.Scope.RegisterForDisposal(System.IDisposable)">
      <summary>
            Adds the <paramref name="disposable" /> to the list of items that will get disposed when the
            scope ends.
            </summary>
      <remarks>
            Instances that are registered for disposal, will be disposed in opposite order of registration and
            they are guaranteed to be disposed when <see cref="M:SimpleInjector.Scope.Dispose" /> is called (even when 
            exceptions are thrown). This mimics the behavior of the C# and VB <code>using</code> statements,
            where the <see cref="M:System.IDisposable.Dispose" /> method is called inside the <code>finally</code> block.
            </remarks>
      <param name="disposable">The instance that should be disposed when the scope ends.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.ObjectDisposedException">Thrown when the scope has been disposed.</exception>
    </member>
    <member name="M:SimpleInjector.Scope.Dispose">
      <summary>Releases all instances that are cached by the <see cref="T:SimpleInjector.Scope" /> object.</summary>
    </member>
    <member name="M:SimpleInjector.Scope.Dispose(System.Boolean)">
      <summary>
            Releases all instances that are cached by the <see cref="T:SimpleInjector.Scope" /> object.
            </summary>
      <param name="disposing">False when only unmanaged resources should be released.</param>
    </member>
    <member name="T:SimpleInjector.ContainerOptions">
      <summary>Configuration options for the <see cref="P:SimpleInjector.ContainerOptions.Container" />.</summary>
      <example>
            The following example shows the typical usage of the <b>ContainerOptions</b> class.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            container.Register<ITimeProvider, DefaultTimeProvider>();
            
            // Use of ContainerOptions clas here.
            container.Options.AllowOverridingRegistrations = true;
            
            // Replaces the previous registration of ITimeProvider
            container.Register<ITimeProvider, CustomTimeProvider>();
            ]]></code></example>
    </member>
    <member name="M:SimpleInjector.ContainerOptions.#ctor">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.ContainerOptions" /> class.</summary>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.AllowOverridingRegistrations">
      <summary>
            Gets or sets a value indicating whether the container allows overriding registrations. The default
            is false.
            </summary>
      <value>The value indicating whether the container allows overriding registrations.</value>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.ConstructorResolutionBehavior">
      <summary>Gets or sets the constructor resolution behavior.</summary>
      <value>The constructor resolution behavior.</value>
      <exception cref="T:System.NullReferenceException">Thrown when the supplied value is a null reference.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when the container already contains registrations.
            </exception>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.ConstructorVerificationBehavior">
      <summary>Gets or sets the constructor resolution behavior.</summary>
      <value>The constructor resolution behavior.</value>
      <exception cref="T:System.NullReferenceException">Thrown when the supplied value is a null reference.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when the container already contains registrations.
            </exception>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.ConstructorInjectionBehavior">
      <summary>Gets or sets the constructor injection behavior.</summary>
      <value>The constructor injection behavior.</value>
      <exception cref="T:System.NullReferenceException">Thrown when the supplied value is a null reference.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when the container already contains registrations.
            </exception>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.PropertySelectionBehavior">
      <summary>Gets or sets the property selection behavior.</summary>
      <value>The property selection behavior.</value>
      <exception cref="T:System.NullReferenceException">Thrown when the supplied value is a null reference.</exception>
      <exception cref="T:System.InvalidOperationException">
            Thrown when the container already contains registrations.
            </exception>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.Container">
      <summary>
            Gets the container to which this <b>ContainerOptions</b> instance belongs to or <b>null</b> when
            this instance hasn't been applied to a <see cref="P:SimpleInjector.ContainerOptions.Container" /> yet.
            </summary>
      <value>The current <see cref="P:SimpleInjector.ContainerOptions.Container" />.</value>
    </member>
    <member name="P:SimpleInjector.ContainerOptions.EnableDynamicAssemblyCompilation">
      <summary>
            Gets or sets a value indicating whether the container will use dynamic assemblies for compilation. 
            By default, this value is <b>true</b> for the first few containers that are created in an app 
            domain and <b>false</b> for all other containers. You can set this value explicitly to <b>false</b>
            to prevent the use of dynamic assemblies or you can set this value explicitly to <b>true</b> to
            force more container instances to use dynamic assemblies. Note that creating an infinite number
            of <see cref="P:SimpleInjector.ContainerOptions.Container" /> instances (for instance one per web request) with this property set to
            <b>true</b> will result in a memory leak; dynamic assemblies take up memory and will only be
            unloaded when the app domain is unloaded.
            </summary>
      <value>A boolean indicating whether the container should use a dynamic assembly for compilation.
            </value>
    </member>
    <member name="T:SimpleInjector.CyclicDependencyValidator">
      <summary>
            Allows verifying whether a given type has a direct or indirect dependency on itself. Verifying is done
            by preventing recursive calls to a IInstanceProvider. An instance of this type is related to a single 
            instance of a IInstanceProvider. A RecursiveDependencyValidator instance checks a single 
            IInstanceProvider and therefore a single service type.
            </summary>
    </member>
    <member name="T:SimpleInjector.CyclicDependencyValidatorExtensions">
      <summary>
            Extension methods for the RecursiveDependencyValidator class.
            </summary>
    </member>
    <member name="T:SimpleInjector.ExpressionBuildingEventArgs">
      <summary>
            Provides data for and interaction with the 
            <see cref="E:SimpleInjector.Container.ExpressionBuilding">ExpressionBuilding</see> event of 
            the <see cref="T:SimpleInjector.Container" />. An observer can change the 
            <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression" /> property to change the component that is 
            currently being built.
            </summary>
    </member>
    <member name="P:SimpleInjector.ExpressionBuildingEventArgs.RegisteredServiceType">
      <summary>Gets the registered service type that is currently requested.</summary>
      <value>The registered service type that is currently requested.</value>
    </member>
    <member name="P:SimpleInjector.ExpressionBuildingEventArgs.KnownImplementationType">
      <summary>
            Gets the type that is known to be returned by the 
            <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression">Expression</see> (most often the implementation
            type used in the <b>Register</b> call). This type will be a derivative of
            <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.RegisteredServiceType">RegisteredServiceType</see> (or
            or <b>RegisteredServiceType</b> itself). If the <b>Expression</b> is changed, the new expression 
            must also return an instance of type <b>KnownImplementationType</b> or a sub type. 
            This information must be described in the new Expression.
            </summary>
      <value>A <see cref="T:System.Type" />.</value>
    </member>
    <member name="P:SimpleInjector.ExpressionBuildingEventArgs.Lifestyle">
      <summary>
            Gets the lifestyle for the component that is currently being built.
            </summary>
      <value>The <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Lifestyle" />.</value>
    </member>
    <member name="P:SimpleInjector.ExpressionBuildingEventArgs.Expression">
      <summary>Gets or sets the currently registered <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression" />.</summary>
      <value>The current registration.</value>
      <exception cref="T:System.ArgumentNullException">Thrown when the supplied value is a null reference.</exception>
    </member>
    <member name="P:SimpleInjector.ExpressionBuildingEventArgs.KnownRelationships">
      <summary>
            Gets the collection of currently known relationships. This information is used by the Diagnostics 
            Debug View. Change the contents of this collection to represent the changes made to the
            <see cref="P:SimpleInjector.ExpressionBuildingEventArgs.Expression">Expression</see> property (if any). This allows
            the Diagnostics Debug View to analyse those new relationships as well.
            </summary>
      <value>The collection of <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> instances.</value>
    </member>
    <member name="T:SimpleInjector.ExpressionBuiltEventArgs">
      <summary>
            Provides data for and interaction with the 
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event of 
            the <see cref="T:SimpleInjector.Container" />. An observer can change the 
            <see cref="P:SimpleInjector.ExpressionBuiltEventArgs.Expression" /> property to change the component that is currently 
            being built. 
            </summary>
    </member>
    <member name="M:SimpleInjector.ExpressionBuiltEventArgs.#ctor(System.Type,System.Linq.Expressions.Expression)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.ExpressionBuiltEventArgs" /> class.</summary>
      <param name="registeredServiceType">Type of the registered service.</param>
      <param name="expression">The registered expression.</param>
    </member>
    <member name="P:SimpleInjector.ExpressionBuiltEventArgs.RegisteredServiceType">
      <summary>Gets the registered service type that is currently requested.</summary>
      <value>The registered service type that is currently requested.</value>
    </member>
    <member name="P:SimpleInjector.ExpressionBuiltEventArgs.Expression">
      <summary>Gets or sets the currently registered <see cref="P:SimpleInjector.ExpressionBuiltEventArgs.Expression" />.</summary>
      <value>The current registration.</value>
      <exception cref="T:System.ArgumentNullException">Thrown when the supplied value is a null reference.</exception>
    </member>
    <member name="P:SimpleInjector.ExpressionBuiltEventArgs.Lifestyle">
      <summary>Gets or sets the current lifestyle of the registration.</summary>
      <value>The original lifestyle of the registration.</value>
    </member>
    <member name="P:SimpleInjector.ExpressionBuiltEventArgs.KnownRelationships">
      <summary>
            Gets the collection of currently known relationships. This information is used by the Diagnostics 
            Debug View. Change the contents of this collection to represent the changes made to the
            <see cref="P:SimpleInjector.ExpressionBuiltEventArgs.Expression">Expression</see> property (if any). This allows
            the Diagnostics Debug View to analyse those new relationships as well.
            </summary>
      <value>The collection of <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> instances.</value>
    </member>
    <member name="T:SimpleInjector.Extensions.ArgumentMapping">
      <summary>
            A map containing a generic argument (such as T) and the concrete type (such as Int32) that it
            represents.
            </summary>
    </member>
    <member name="M:SimpleInjector.Extensions.ArgumentMapping.GetHashCode">
      <summary>Overrides the default hash code. Needed for doing LINQ distinct operations.</summary>
      <returns>An 32 bit integer.</returns>
    </member>
    <member name="T:SimpleInjector.Extensions.DecoratorExtensions">
      <summary>
            Extension methods for applying decorators.
            </summary>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">
      <summary>
            Ensures that the supplied <paramref name="decoratorType" /> decorator is returned and cached with
            the given <paramref name="lifestyle" />, wrapping the original registered 
            <paramref name="serviceType" />, by injecting that service type into the constructor of the 
            supplied <paramref name="decoratorType" />. Multiple decorators may be applied to the same 
            <paramref name="serviceType" />. Decorators can be applied to both open, closed, and non-generic 
            service types.
            </summary>
      <remarks>
        <para>
            The <b>RegisterOpenGenericDecorator</b> method works by hooking onto the container's
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event. This event fires after the
            <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event, which allows
            decoration of types that are resolved using unregistered type resolution. The
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see>
            extension method, for instance, hooks onto the <b>ResolveUnregisteredType</b>. This allows you to
            use <b>RegisterOpenGenericDecorator</b> on the same service type as <b>RegisterOpenGeneric</b>.
            </para>
        <para>
            Multiple decorators can be applied to the same service type. The order in which they are registered
            is the order they get applied in. This means that the decorator that gets registered first, gets
            applied first, which means that the next registered decorator, will wrap the first decorator, which
            wraps the original service type.
            </para>
        <para>
            Constructor injection will be used on that type, and although it may have many constructor 
            arguments, it must have exactly one argument of the type of <paramref name="serviceType" />, or an 
            argument of type <see cref="T:System.Func`1" /> where <b>TResult</b> is <paramref name="serviceType" />.
            An exception will be thrown when this is not the case.
            </para>
        <para>
            The registered <paramref name="decoratorType" /> may have a constructor with an argument of type
            <see cref="T:System.Func`1" /> where <b>T</b> is <paramref name="serviceType" />. In this case, the
            will not inject the decorated <paramref name="serviceType" /> itself into the 
            <paramref name="decoratorType" /> instance, but it will inject a <see cref="T:System.Func`1" /> that allows
            creating instances of the decorated type, according to the lifestyle of that type. This enables
            more advanced scenarios, such as executing the decorated types on a different thread, or executing
            decorated instance within a certain scope (such as a lifetime scope).
            </para>
      </remarks>
      <example>
            Please see the <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see> method
            for more information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
            be used to wrap the original service type.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned decorator will be cached.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not
            an open generic type, when <paramref name="decoratorType" /> does not inherit from or 
            implement <paramref name="serviceType" />, when <paramref name="decoratorType" />
            does not have a single public constructor, or when <paramref name="decoratorType" /> does 
            not contain a constructor that has exactly one argument of type 
            <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
            <paramref name="serviceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">
      <summary>
            Ensures that the supplied <paramref name="decoratorType" /> decorator is returned when the supplied
            <paramref name="predicate" /> returns <b>true</b> and cached with the given 
            <paramref name="lifestyle" />, wrapping the original registered <paramref name="serviceType" />, by 
            injecting that service type into the constructor of the supplied <paramref name="decoratorType" />. 
            Multiple decorators may be applied to the same <paramref name="serviceType" />. Decorators can be 
            applied to both open, closed, and non-generic service types.
            </summary>
      <remarks>
        <para>
            The <b>RegisterOpenGenericDecorator</b> method works by hooking onto the container's
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event. This event fires after the
            <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event, which allows
            decoration of types that are resolved using unregistered type resolution. The
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see>
            extension method, for instance, hooks onto the <b>ResolveUnregisteredType</b>. This allows you to
            use <b>RegisterOpenGenericDecorator</b> on the same service type as <b>RegisterOpenGeneric</b>.
            </para>
        <para>
            Multiple decorators can be applied to the same service type. The order in which they are registered
            is the order they get applied in. This means that the decorator that gets registered first, gets
            applied first, which means that the next registered decorator, will wrap the first decorator, which
            wraps the original service type.
            </para>
        <para>
            Constructor injection will be used on that type, and although it may have many constructor 
            arguments, it must have exactly one argument of the type of <paramref name="serviceType" />, or an 
            argument of type <see cref="T:System.Func`1" /> where <b>TResult</b> is <paramref name="serviceType" />.
            An exception will be thrown when this is not the case.
            </para>
        <para>
            The registered <paramref name="decoratorType" /> may have a constructor with an argument of type
            <see cref="T:System.Func`1" /> where <b>T</b> is <paramref name="serviceType" />. In this case, the
            will not inject the decorated <paramref name="serviceType" /> itself into the 
            <paramref name="decoratorType" /> instance, but it will inject a <see cref="T:System.Func`1" /> that allows
            creating instances of the decorated type, according to the lifestyle of that type. This enables
            more advanced scenarios, such as executing the decorated types on a different thread, or executing
            decorated instance within a certain scope (such as a lifetime scope).
            </para>
      </remarks>
      <example>
            Please see the <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see> method
            for more information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
            be used to wrap the original service type.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned decorator will be cached.</param>
      <param name="predicate">The predicate that determines whether the 
            <paramref name="decoratorType" /> must be applied to a service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not
            an open generic type, when <paramref name="decoratorType" /> does not inherit from or 
            implement <paramref name="serviceType" />, when <paramref name="decoratorType" />
            does not have a single public constructor, or when <paramref name="decoratorType" /> does 
            not contain a constructor that has exactly one argument of type 
            <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
            <paramref name="serviceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Func{SimpleInjector.Extensions.DecoratorPredicateContext,System.Type},SimpleInjector.Lifestyle,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">
      <summary>
            Ensures that the decorator type that is returned from <paramref name="decoratorTypeFactory" /> is 
            supplied when the supplied <paramref name="predicate" /> returns <b>true</b> and cached with the given 
            <paramref name="lifestyle" />, wrapping the original registered <paramref name="serviceType" />, by 
            injecting that service type into the constructor of the decorator type that is returned by the
            supplied <paramref name="decoratorTypeFactory" />. 
            Multiple decorators may be applied to the same <paramref name="serviceType" />. Decorators can be 
            applied to both open, closed, and non-generic service types.
            </summary>
      <remarks>
        <para>
            The types returned from the <paramref name="decoratorTypeFactory" /> may be open-generic. The
            container will try to fill in the generic parameters based on the resolved service type.
            </para>
        <para>
            The <b>RegisterOpenGenericDecorator</b> method works by hooking onto the container's
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event. This event fires after the
            <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event, which allows
            decoration of types that are resolved using unregistered type resolution. The
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see>
            extension method, for instance, hooks onto the <b>ResolveUnregisteredType</b>. This allows you to
            use <b>RegisterOpenGenericDecorator</b> on the same service type as <b>RegisterOpenGeneric</b>.
            </para>
        <para>
            Multiple decorators can be applied to the same service type. The order in which they are registered
            is the order they get applied in. This means that the decorator that gets registered first, gets
            applied first, which means that the next registered decorator, will wrap the first decorator, which
            wraps the original service type.
            </para>
        <para>
            Constructor injection will be used on that type, and although it may have many constructor 
            arguments, it must have exactly one argument of the type of <paramref name="serviceType" />, or an 
            argument of type <see cref="T:System.Func`1" /> where <b>TResult</b> is <paramref name="serviceType" />.
            An exception will be thrown when this is not the case.
            </para>
        <para>
            The type returned from <paramref name="decoratorTypeFactory" /> may have a constructor with an 
            argument of type <see cref="T:System.Func`1" /> where <b>T</b> is <paramref name="serviceType" />. In this 
            case, the framework will not inject the decorated <paramref name="serviceType" /> itself into the 
            decorator instance, but it will inject a <see cref="T:System.Func`1" /> that allows
            creating instances of the decorated type, according to the lifestyle of that type. This enables
            more advanced scenarios, such as executing the decorated types on a different thread, or executing
            decorated instance within a certain scope (such as a lifetime scope).
            </para>
      </remarks>
      <example>
            The following is an example of the registration of a decorator through the factory delegate:
            <code lang="cs"><![CDATA[
            container.Register<ICommandHandler<MoveCustomerCommand>, MoveCustomerCommandHandler>();
            
            container.RegisterDecorator(
                typeof(ICommandHandler<>),
                context => typeof(LoggingCommandHandler<,>).MakeGenericType(
                    typeof(LoggingCommandHandler<,>).GetGenericArguments().First(),
                    context.ImplementationType),
                Lifestyle.Transient,
                context => true);
                
            var handler = container.GetInstance<ICommandHandler<MoveCustomerCommand>>();
            
            Assert.IsInstanceOfType(handler,
                typeof(LoggingCommandHandler<MoveCustomerCommand, MoveCustomerCommandHandler>));
            
            ]]></code>
            The code above allows a generic <b>LoggingCommandHandler&lt;TCommand, TImplementation&gt;</b> to
            be applied to command handlers, where the second generic argument will be filled in using the
            contextual information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the decorator type returned by the supplied <paramref name="decoratorTypeFactory" />.</param>
      <param name="decoratorTypeFactory">A factory that allows building Type objects that define the
            decorators to inject, based on the given contextual information. The delegate is allowed to return
            open-generic types.</param>
      <param name="lifestyle">The lifestyle that specifies how the returned decorator will be cached.</param>
      <param name="predicate">The predicate that determines whether the decorator must be applied to a 
            service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not
            an open generic type.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">
      <summary>
             Ensures that the supplied <paramref name="decoratorType" /> decorator is returned, wrapping the 
             original registered <paramref name="serviceType" />, by injecting that service type into the 
             constructor of the supplied <paramref name="decoratorType" />. Multiple decorators may be applied 
             to the same <paramref name="serviceType" />. Decorators can be applied to both open, closed, and 
             non-generic service types. A new <paramref name="decoratorType" /> will always be returned (the
             <see cref="F:SimpleInjector.Lifestyle.Transient">Transient</see> lifestyle), independently of the lifestyle of the 
             wrapped service.
             </summary>
      <remarks>
        <para>
             The <b>RegisterDecorator</b> method works by hooking onto the container's
             <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event. This event fires after the
             <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event, which allows
             decoration of types that are resolved using unregistered type resolution. The
             <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see>
             extension method, for instance, hooks onto the <b>ResolveUnregisteredType</b>. This allows you to
             use <b>RegisterDecorator</b> on the same generic service type as <b>RegisterOpenGeneric</b>.
             </para>
        <para>
             Multiple decorators can be applied to the same service type. The order in which they are registered
             is the order they get applied in. This means that the decorator that gets registered first, gets
             applied first, which means that the next registered decorator, will wrap the first decorator, which
             wraps the original service type.
             </para>
        <para>
             Constructor injection will be used on that type, and although it may have many constructor 
             arguments, it must have exactly one argument of the type of <paramref name="serviceType" />, or an 
             argument of type <see cref="T:System.Func`1" /> where <b>TResult</b> is <paramref name="serviceType" />.
             An exception will be thrown when this is not the case.
             </para>
        <para>
             The registered <paramref name="decoratorType" /> may have a constructor with an argument of type
             <see cref="T:System.Func`1" /> where <b>T</b> is <paramref name="serviceType" />. In this case, an decorated
             instance will not injected into the <paramref name="decoratorType" />, but it will inject a 
             <see cref="T:System.Func`1" /> that allows creating instances of the decorated type, according to the
             lifestyle of that type. This enables more advanced scenarios, such as executing the decorated 
             types on a different thread, or executing decorated instance within a certain scope (such as a 
             lifetime scope).
             </para>
      </remarks>
      <example>
             The following example shows the definition of a generic <b>ICommandHandler&lt;T&gt;</b> interface,
             a <b>CustomerMovedCommandHandler</b> implementing that interface, and a 
             <b>ValidatorCommandHandlerDecorator&lt;T&gt;</b> that acts as a decorator for that interface.
             <code lang="cs"><![CDATA[
             using System.ComponentModel.DataAnnotations;
             using System.Diagnostics;
             using System.Linq;
             
             using Microsoft.VisualStudio.TestTools.UnitTesting;
             
             using SimpleInjector;
             using SimpleInjector.Extensions;
             
             public interface ICommandHandler<TCommand>
             {
                 void Handle(TCommand command);
             }
            
             public class CustomerMovedCommand
             {
                 [Required]
                 public int CustomerId { get; set; }
            
                 [Required]
                 public Address Address { get; set; }
             }
            
             public class CustomerMovedCommandHandler
                 : ICommandHandler<CustomerMovedCommand>
             {
                 public void Handle(CustomerMovedCommand command)
                 {
                     // some logic
                 }
             }
            
             // Decorator that validates commands before they get executed.
             public class ValidatorCommandHandlerDecorator<TCommand>
                 : ICommandHandler<TCommand>
             {
                 private readonly ICommandHandler<TCommand> decoratedHandler;
                 private readonly Container container;
            
                 public ValidatorCommandHandlerDecorator(
                     ICommandHandler<TCommand> decoratedHandler,
                     Container container)
                 {
                     this.decoratedHandler = decoratedHandler;
                     this.container = container;
                 }
            
                 public void Handle(TCommand command)
                 {
                     this.Validate(command);
            
                     this.decoratedHandler.Handle(command);
                 }
            
                 private void Validate(TCommand command)
                 {
                     var validationContext =
                         new ValidationContext(command, this.container, null);
            
                     Validator.ValidateObject(command, validationContext);
                 }
             }
             
             // Decorator that measures the time it takes to execute a command.
             public class MonitoringCommandHandlerDecorator<TCommand>
                 : ICommandHandler<TCommand>
             {
                 private readonly ICommandHandler<TCommand> decoratedHandler;
                 private readonly ILogger logger;
            
                 public MonitoringCommandHandlerDecorator(
                     ICommandHandler<TCommand> decoratedHandler,
                     ILogger logger)
                 {
                     this.decoratedHandler = decoratedHandler;
                     this.logger = logger;
                 }
            
                 public void Handle(TCommand command)
                 {
                     var watch = Stopwatch.StartNew();
            
                     this.decoratedHandler.Handle(command);
            
                     this.logger.Log(string.Format("{0} executed in {1} ms.",
                         command.GetType().Name, watch.ElapsedMilliseconds));
                 }
             }
             
             [TestMethod]
             public static void TestRegisterOpenGenericDecorator()
             {
                 // Arrange
                 var container = new Container();
            
                 container.RegisterSingle<ILogger, DebugLogger>();
            
                 // Search the given assembly and register all concrete types that 
                 // implement ICommandHandler<TCommand>.
                 container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>),
                     typeof(ICommandHandler<>).Assembly);
            
                 // Wrap all ICommandHandler<TCommand> service types with a decorator
                 // that measures and logs the duration of that handler.
                 container.RegisterDecorator(typeof(ICommandHandler<>),
                     typeof(MonitoringCommandHandlerDecorator<>));
            
                 // Wrap all ICommandHandler<TCommand> types (in this case it will
                 // wrap the monitoring decorator), but only if the TCommand contains
                 // any properties.
                 container.RegisterDecorator(typeof(ICommandHandler<>),
                     typeof(ValidatorCommandHandlerDecorator<>), context =>
                     {
                         var commandType = context.ServiceType.GetGenericArguments()[0];
                         bool mustDecorate = commandType.GetProperties().Any();
                         return mustDecorate;
                     });
            
                 // Act
                 var handler = 
                     container.GetInstance<ICommandHandler<CustomerMovedCommand>>();
            
                 // Assert
                 Assert.IsInstanceOfType(handler, 
                     typeof(ValidatorCommandHandlerDecorator<CustomerMovedCommand>));
             }
             ]]></code></example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
             be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
             be used to wrap the original service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" />  is not
             an open generic type, when <paramref name="decoratorType" /> does not inherit from or implement 
             <paramref name="serviceType" />, when <paramref name="decoratorType" /> does not
             have a single public constructor, or when <paramref name="decoratorType" /> does not
             contain a constructor that has exactly one argument of type 
             <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
             <paramref name="serviceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">
      <summary>
            Ensures that the supplied <paramref name="decoratorType" /> decorator is returned when the supplied
            <paramref name="predicate" /> returns <b>true</b>, wrapping the original registered 
            <paramref name="serviceType" />, by injecting that service type into the constructor of the 
            supplied <paramref name="decoratorType" />. Multiple decorators may be applied to the same 
            <paramref name="serviceType" />. Decorators can be applied to both open, closed, and non-generic 
            service types. A new <paramref name="decoratorType" /> will always be returned (the
            <see cref="F:SimpleInjector.Lifestyle.Transient">Transient</see> lifestyle), independently of the lifestyle of the 
            wrapped service.
            </summary>
      <remarks>
        <para>
            The <b>RegisterOpenGenericDecorator</b> method works by hooking onto the container's
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> event. This event fires after the
            <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event, which allows
            decoration of types that are resolved using unregistered type resolution. The
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric</see>
            extension method, for instance, hooks onto the <b>ResolveUnregisteredType</b>. This allows you to
            use <b>RegisterOpenGenericDecorator</b> on the same service type as <b>RegisterOpenGeneric</b>.
            </para>
        <para>
            Multiple decorators can be applied to the same service type. The order in which they are registered
            is the order they get applied in. This means that the decorator that gets registered first, gets
            applied first, which means that the next registered decorator, will wrap the first decorator, which
            wraps the original service type.
            </para>
        <para>
            Constructor injection will be used on that type, and although it may have many constructor 
            arguments, it must have exactly one argument of the type of <paramref name="serviceType" />, or an 
            argument of type <see cref="T:System.Func`1" /> where <b>TResult</b> is <paramref name="serviceType" />.
            An exception will be thrown when this is not the case.
            </para>
        <para>
            The registered <paramref name="decoratorType" /> may have a constructor with an argument of type
            <see cref="T:System.Func`1" /> where <b>T</b> is <paramref name="serviceType" />. In this case, the
            will not inject the decorated <paramref name="serviceType" /> itself into the 
            <paramref name="decoratorType" /> instance, but it will inject a <see cref="T:System.Func`1" /> that allows
            creating instances of the decorated type, according to the lifestyle of that type. This enables
            more advanced scenarios, such as executing the decorated types on a different thread, or executing
            decorated instance within a certain scope (such as a lifetime scope).
            </para>
      </remarks>
      <example>
            Please see the <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see> method
            for more information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
            be used to wrap the original service type.</param>
      <param name="predicate">The predicate that determines whether the 
            <paramref name="decoratorType" /> must be applied to a service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not
            an open generic type, when <paramref name="decoratorType" /> does not inherit from or 
            implement <paramref name="serviceType" />, when <paramref name="decoratorType" />
            does not have a single public constructor, or when <paramref name="decoratorType" /> does 
            not contain a constructor that has exactly one argument of type 
            <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
            <paramref name="serviceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterSingleDecorator(SimpleInjector.Container,System.Type,System.Type)">
      <summary>
            Ensures that a single instance of the supplied <paramref name="decoratorType" /> decorator is 
            returned, wrapping the original registered <paramref name="serviceType" />, by injecting that 
            service type into the constructor of the supplied <paramref name="decoratorType" />. Multiple 
            decorators may be applied to the same <paramref name="serviceType" />. Decorators can be applied 
            to both open, closed, and non-generic service types.
            </summary>
      <remarks>
        <para>
            This method ensures that a single instance of the supplied <paramref name="decoratorType" /> is
            returned, no matter what the lifestyle of the wrapped service type is. Use with care, because the
            wrapped service type will also become a singleton. This method is especially useful when use for
            injecting <see cref="T:System.Func`1" /> factory methods, which will allow the wrapped service type to get
            it's own lifestyle back.
            </para>
      </remarks>
      <example>
            Please see the <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see> method
            for more information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
            be used to wrap the original service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" />  is not
            an open generic type, when <paramref name="decoratorType" /> does not inherit from or implement 
            <paramref name="serviceType" />, when <paramref name="decoratorType" /> does not
            have a single public constructor, or when <paramref name="decoratorType" /> does not
            contain a constructor that has exactly one argument of type 
            <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
            <paramref name="serviceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterSingleDecorator(SimpleInjector.Container,System.Type,System.Type,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">
      <summary>
            Ensures that the supplied <paramref name="decoratorType" /> decorator is returned when the supplied
            <paramref name="predicate" /> returns <b>true</b>, wrapping the original registered 
            <paramref name="serviceType" />, by injecting that service type into the constructor of the 
            supplied <paramref name="decoratorType" />. Multiple decorators may be applied to the same 
            <paramref name="serviceType" />. Decorators can be applied to both open, closed, and non-generic 
            service types.
            </summary>
      <remarks>
        <para>
            This method ensures that a single instance of the supplied <paramref name="decoratorType" /> is
            returned, no matter what the lifestyle of the wrapped service type is. Use with care, because the
            wrapped service type will also become a singleton. This method is especially useful when use for
            injecting <see cref="T:System.Func`1" /> factory methods, which will allow the wrapped service type to get
            it's own lifestyle back.
            </para>
      </remarks>
      <example>
            Please see the <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see> method
            for more information.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="serviceType">The definition of the open generic service type that will
            be wrapped by the given <paramref name="decoratorType" />.</param>
      <param name="decoratorType">The definition of the open generic decorator type that will
            be used to wrap the original service type.</param>
      <param name="predicate">The predicate that determines whether the 
            <paramref name="decoratorType" /> must be applied to a service type.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="serviceType" /> is not
            an open generic type, when <paramref name="decoratorType" /> does not inherit from or 
            implement <paramref name="serviceType" />, when <paramref name="decoratorType" />
            does not have a single public constructor, or when <paramref name="decoratorType" /> does 
            not contain a constructor that has exactly one argument of type 
            <paramref name="serviceType" /> or <see cref="T:System.Func`1" /> where <b>T</b> is
            <paramref name="serviceType" />.</exception>
    </member>
    <member name="T:SimpleInjector.Extensions.DecoratorPredicateContext">
      <summary>
            An instance of this type will be supplied to the <see cref="T:System.Predicate`1" />
            delegate that is that is supplied to the 
            <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">RegisterDecorator</see>
            overload that takes this delegate. This type contains information about the decoration that is about
            to be applied and it allows users to examine the given instance to see whether the decorator should
            be applied or not.
            </summary>
      <remarks>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type,System.Predicate{SimpleInjector.Extensions.DecoratorPredicateContext})">RegisterDecorator</see>
            method for more information.
            </remarks>
    </member>
    <member name="P:SimpleInjector.Extensions.DecoratorPredicateContext.ServiceType">
      <summary>
            Gets the closed generic service type for which the decorator is about to be applied. The original
            service type will be returned, even if other decorators have already been applied to this type.
            </summary>
      <value>The closed generic service type.</value>
    </member>
    <member name="P:SimpleInjector.Extensions.DecoratorPredicateContext.ImplementationType">
      <summary>
            Gets the type of the implementation that is created by the container and for which the decorator
            is about to be applied. The original implementation type will be returned, even if other decorators
            have already been applied to this type. Please not that the implementation type can not always be
            determined. In that case the closed generic service type will be returned.
            </summary>
      <value>The implementation type.</value>
    </member>
    <member name="P:SimpleInjector.Extensions.DecoratorPredicateContext.AppliedDecorators">
      <summary>
            Gets the list of the types of decorators that have already been applied to this instance.
            </summary>
      <value>The applied decorators.</value>
    </member>
    <member name="P:SimpleInjector.Extensions.DecoratorPredicateContext.Expression">
      <summary>
            Gets the current <see cref="P:SimpleInjector.Extensions.DecoratorPredicateContext.Expression" /> object that describes the intention to create a new
            instance with its currently applied decorators.
            </summary>
      <value>The current expression that is about to be decorated.</value>
    </member>
    <member name="T:SimpleInjector.Extensions.Decorators.DecoratorExpressionInterceptor">
      <summary>
            Hooks into the building process and adds a decorator if needed.
            </summary>
    </member>
    <member name="T:SimpleInjector.Advanced.IContainerControlledCollection">
      <summary>This interface is not meant for public use.</summary>
    </member>
    <member name="M:SimpleInjector.Advanced.IContainerControlledCollection.GetRelationships">
      <summary>Please do not use.</summary>
      <returns>Do not use.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.IContainerControlledCollection.Append(SimpleInjector.Registration)">
      <summary>PLease do not use.</summary>
      <param name="registration">Do not use.</param>
    </member>
    <member name="T:SimpleInjector.Registration">
      <summary>
            A <b>Registration</b> implements lifestyle based caching for a single service and allows building an
            <see cref="T:System.Linq.Expressions.Expression" /> that describes the creation of the service.
            </summary>
      <remarks>
        <see cref="P:SimpleInjector.Registration.Lifestyle" /> implementations create a new <b>Registration</b> instance for each registered
            service type. <see cref="T:System.Linq.Expressions.Expression" />s returned from the 
            <see cref="M:SimpleInjector.Registration.BuildExpression">BuildExpression</see> method can be intercepted by any event
            registered with <see cref="E:SimpleInjector.Container.ExpressionBuilding" />, have 
            <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> 
            applied, and the caching particular to its lifestyle have been applied. Interception using the 
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">Container.ExpressionBuilt</see> will <b>not</b> 
            be applied in the <b>Registration</b>, but will be applied in <see cref="T:SimpleInjector.InstanceProducer" />.</remarks>
      <example>
            See the <see cref="P:SimpleInjector.Registration.Lifestyle" /> documentation for an example.
            </example>
    </member>
    <member name="M:SimpleInjector.Registration.#ctor(SimpleInjector.Lifestyle,SimpleInjector.Container)">
      <summary>
            Initializes a new instance of the <see cref="T:SimpleInjector.Registration" /> class.
            </summary>
      <param name="lifestyle">The <see cref="P:SimpleInjector.Registration.Lifestyle" /> this that created this registration.</param>
      <param name="container">The <see cref="P:SimpleInjector.Registration.Container" /> instance for this registration.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Registration.BuildExpression">
      <summary>
            Builds a new <see cref="T:System.Linq.Expressions.Expression" /> with the correct caching (according to the specifications of
            its <see cref="P:SimpleInjector.Registration.Lifestyle" />) applied.
            </summary>
      <returns>An <see cref="T:System.Linq.Expressions.Expression" />.</returns>
    </member>
    <member name="M:SimpleInjector.Registration.GetRelationships">
      <summary>
            Gets the list of <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> instances. Note that the list is only available
            after calling <see cref="M:SimpleInjector.Registration.BuildExpression" />.
            </summary>
      <returns>A new array containing the <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> instances.</returns>
    </member>
    <member name="M:SimpleInjector.Registration.InitializeInstance(System.Object)">
      <summary>
            Initializes an already created instance and applies properties and initializers to that instance.
            </summary>
      <remarks>
            This method is especially useful in integration scenarios where the given platform is in control
            of creating certain types. By passing the instance created by the platform to this method, the
            container is still able to apply any properties (as defined using a custom
            <see cref="T:SimpleInjector.Advanced.IPropertySelectionBehavior" />) and by applying any initializers.
            </remarks>
      <param name="instance">The instance to initialize.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="instance" /> is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when the supplied <paramref name="instance" /> is not
            of type <see cref="P:SimpleInjector.Registration.ImplementationType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Registration.BuildTransientDelegate``1(System.Func{``0})">
      <summary>
            Builds a <see cref="T:System.Func`1" /> delegate for the creation of the <typeparamref name="TService" />
            using the supplied <paramref name="instanceCreator" />. The returned <see cref="T:System.Func`1" /> might
            be intercepted by a 
            <see cref="E:SimpleInjector.Container.ExpressionBuilding">Container.ExpressionBuilding</see> event, 
            and the <paramref name="instanceCreator" /> will have been wrapped with a delegate that executes the
            registered <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> 
            that are appliable to the given <typeparamref name="TService" /> (if any).
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="instanceCreator">
            The delegate supplied by the user that allows building or creating new instances.</param>
      <returns>A <see cref="T:System.Func`1" /> delegate.</returns>
    </member>
    <member name="M:SimpleInjector.Registration.BuildTransientDelegate``2">
      <summary>
            Builds a <see cref="T:System.Func`1" /> delegate for the creation of <typeparamref name="TImplementation" />.
            The returned <see cref="T:System.Func`1" /> might be intercepted by a 
            <see cref="E:SimpleInjector.Container.ExpressionBuilding">Container.ExpressionBuilding</see> event, 
            and the creation of the <typeparamref name="TImplementation" /> will have been wrapped with a 
            delegate that executes the registered 
            <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> 
            that are appliable to the given <typeparamref name="TService" /> (if any).
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <returns>A <see cref="T:System.Func`1" /> delegate.</returns>
    </member>
    <member name="M:SimpleInjector.Registration.BuildTransientExpression``1(System.Func{``0})">
      <summary>
            Builds an <see cref="T:System.Linq.Expressions.Expression" /> that describes the creation of the <typeparamref name="TService" />
            using the supplied <paramref name="instanceCreator" />. The returned <see cref="T:System.Linq.Expressions.Expression" /> might
            be intercepted by a 
            <see cref="E:SimpleInjector.Container.ExpressionBuilding">Container.ExpressionBuilding</see> event, 
            and the <paramref name="instanceCreator" /> will have been wrapped with a delegate that executes the
            registered <see cref="M:SimpleInjector.Container.RegisterInitializer(System.Action{SimpleInjector.Advanced.InstanceInitializationData},System.Predicate{SimpleInjector.Advanced.InitializationContext})">initializers</see> that are 
            appliable to the given <typeparamref name="TService" /> (if any).
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <param name="instanceCreator">
            The delegate supplied by the user that allows building or creating new instances.</param>
      <returns>An <see cref="T:System.Linq.Expressions.Expression" />.</returns>
    </member>
    <member name="M:SimpleInjector.Registration.BuildTransientExpression``2">
      <summary>
            Builds an <see cref="T:System.Linq.Expressions.Expression" /> that describes the creation of 
            <typeparamref name="TImplementation" />. The returned <see cref="T:System.Linq.Expressions.Expression" /> might be intercepted
            by a <see cref="E:SimpleInjector.Container.ExpressionBuilding">Container.ExpressionBuilding</see>
            event, and the creation of the <typeparamref name="TImplementation" /> will have been wrapped with
            a delegate that executes the registered 
            <see cref="M:SimpleInjector.Container.RegisterInitializer(System.Action{SimpleInjector.Advanced.InstanceInitializationData},System.Predicate{SimpleInjector.Advanced.InitializationContext})">initializers</see> 
            that are appliable to the given <typeparamref name="TService" /> (if any).
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <returns>An <see cref="T:System.Linq.Expressions.Expression" />.</returns>
    </member>
    <member name="P:SimpleInjector.Registration.ImplementationType">
      <summary>Gets the type that this instance will create.</summary>
      <value>The type that this instance will create.</value>
    </member>
    <member name="P:SimpleInjector.Registration.Lifestyle">
      <summary>Gets the <see cref="P:SimpleInjector.Registration.Lifestyle" /> this that created this registration.</summary>
      <value>The <see cref="P:SimpleInjector.Registration.Lifestyle" /> this that created this registration.</value>
    </member>
    <member name="P:SimpleInjector.Registration.Container">
      <summary>Gets the <see cref="P:SimpleInjector.Registration.Container" /> instance for this registration.</summary>
      <value>The <see cref="P:SimpleInjector.Registration.Container" /> instance for this registration.</value>
    </member>
    <member name="T:SimpleInjector.Extensions.GenericArgumentFinder">
      <summary>
            Allows retrieving the concrete types of the generic type arguments of that must be used to create a
            closed generic implementation of a given open generic implementation, based on on the concrete
            arguments of the given closed base type.
            </summary>
    </member>
    <member name="T:SimpleInjector.Extensions.GenericTypeBuilder">
      <summary>
            Helper class for building closed generic type for a given open generic type and a closed generic base.
            </summary>
    </member>
    <member name="T:SimpleInjector.Extensions.GenericTypeBuilder.BuildResult">
      <summary>Result of the GenericTypeBuilder.</summary>
    </member>
    <member name="T:SimpleInjector.Extensions.GenericTypeBuilder.CandicateServiceType">
      <summary>
            A open generic type with the concrete arguments that can be used to create a closed generic type.
            </summary>
    </member>
    <member name="T:SimpleInjector.Extensions.ExtensionHelpers">
      <summary>
            Helper methods for the extensions.
            </summary>
    </member>
    <member name="T:SimpleInjector.Extensions.BatchRegistrationCallback">
      <summary>
            Represents the method that will called to register one or multiple concrete non-generic
            <paramref name="implementations" /> of the given closed generic type 
            <paramref name="closedServiceType" />.
            </summary>
      <param name="closedServiceType">The service type that needs to be registered.</param>
      <param name="implementations">One or more concrete types that implement the given 
            <paramref name="closedServiceType" />.</param>
      <example>
        <code lang="cs"><![CDATA[
            var container = new Container();
            
            BatchRegistrationCallback registerAsCollectionAsSingletons = (closedServiceType, implementations) =>
            {
                foreach (Type implementation in implementations)
                {
                    container.RegisterSingle(implementation);
                }
                
                container.RegisterAll(closedServiceType, implementations);
            };
            
            container.RegisterManyForOpenGeneric(
                typeof(ICommandHandler<>),
                registerAsCollectionAsSingletons, 
                typeof(ICommandHandler<>).Assembly);
            ]]></code>
            The <b>BatchRegistrationCallback</b> can be supplied to some overloads of the
            <see cref="T:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions">RegisterManyForOpenGeneric</see> extension methods.
            The default behavior of the <b>RegisterManyForOpenGeneric</b> methods is to register a closed generic
            type with the corresponding implementation (and will throw when multiple implementations are found for
            a single closed generic service type). The given example overrides this default registration by 
            registering the found list of implementations (one or more) as collection of singletons for the given 
            closed generic service type.
            </example>
    </member>
    <member name="T:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions">
      <summary>
            Provides a set of static (Shared in Visual Basic) methods for registration many concrete types at
            once that implement the same open generic service types in the <see cref="T:SimpleInjector.Container" />.
            </summary>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">
      <summary>
            Registers all concrete, non-generic, publicly exposed types in the given set of
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" /> 
            with a transient lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic, publicly exposed types that are located in the given 
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" /> 
            with a transient lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Reflection.Assembly[])">
      <summary>
            Registers all concrete, non-generic, publicly exposed types in the given set of
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" /> 
            with the supplied <paramref name="lifestyle" />. When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will point at the same registration and return the same instance based on the caching
            behavior of the supplied <paramref name="lifestyle" />.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="lifestyle">The lifestyle that will be used for the registration of the types.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="lifestyle" /> or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic, publicly exposed types that are located in the given 
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" /> 
            with the supplied <paramref name="lifestyle" />. When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will point at the same registration and return the same instance based on the caching
            behavior of the supplied <paramref name="lifestyle" />.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="lifestyle">The lifestyle that will be used for the registration of the types.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="lifestyle" /> or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.BatchRegistrationCallback,System.Reflection.Assembly[])">
      <summary>
            Allows registration of all concrete, public, non-generic types that are located in the given set of 
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" />, 
            by supplying a <see cref="T:SimpleInjector.Extensions.BatchRegistrationCallback" /> delegate, that will be called for each 
            found closed generic implementation of the given <paramref name="openGenericServiceType" />.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="callback">The delegate that will be called for each found closed generic version of
            the given open generic <paramref name="openGenericServiceType" /> to do the actual registration.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="callback" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.BatchRegistrationCallback,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Allows registration of all concrete, public, non-generic types that are located in the given set of 
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" />, 
            by supplying a <see cref="T:SimpleInjector.Extensions.BatchRegistrationCallback" /> delegate, that will be called for each 
            found closed generic implementation of the given <paramref name="openGenericServiceType" />.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="callback">The delegate that will be called for each found closed generic version of
            the given open generic <paramref name="openGenericServiceType" /> to do the actual registration.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="callback" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">
      <summary>
            Registers all concrete, non-generic, publicly exposed types that are located in the given 
            <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with a singleton lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic, publicly exposed types that are located in the given 
            <paramref name="assemblies" /> that implement the given <paramref name="openGenericServiceType" /> 
            with a singleton lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple publicly exposed types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Type[])">
      <summary>
            Registers all supplied <paramref name="typesToRegister" /> by a closed generic definition of the
            given <paramref name="openGenericServiceType" /> with a transient lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="typesToRegister">The list of types that must be registered according to the given
            <paramref name="openGenericServiceType" /> definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />, 
            <paramref name="openGenericServiceType" />, or <paramref name="typesToRegister" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="typesToRegister" /> contains a null
            (Nothing in VB) element, when the <paramref name="openGenericServiceType" /> is not an open generic
            type, or one of the types supplied in <paramref name="typesToRegister" /> does not implement a 
            closed version of <paramref name="openGenericServiceType" />.
            </exception>
      <exception cref="T:System.InvalidOperationException">Thrown when there are multiple types in the given
            <paramref name="typesToRegister" /> collection that implement the same closed version of the
            supplied <paramref name="openGenericServiceType" />.
            </exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers all supplied <paramref name="typesToRegister" /> by a closed generic definition of the
            given <paramref name="openGenericServiceType" /> with a transient lifetime.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="typesToRegister">The list of types that must be registered according to the given
            <paramref name="openGenericServiceType" /> definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />, 
            <paramref name="openGenericServiceType" />, or <paramref name="typesToRegister" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="typesToRegister" /> contains a null
            (Nothing in VB) element, when the <paramref name="openGenericServiceType" /> is not an open generic
            type, or one of the types supplied in <paramref name="typesToRegister" /> does not implement a 
            closed version of <paramref name="openGenericServiceType" />.
            </exception>
      <exception cref="T:System.InvalidOperationException">Thrown when there are multiple types in the given
            <paramref name="typesToRegister" /> collection that implement the same closed version of the
            supplied <paramref name="openGenericServiceType" />.
            </exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.BatchRegistrationCallback,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Allows registration of all supplied <paramref name="typesToRegister" /> by a closed generic 
            definition of the given <paramref name="openGenericServiceType" />, by supplying a 
            <see cref="T:SimpleInjector.Extensions.BatchRegistrationCallback" /> delegate, that will be called for each found closed generic 
            implementation.
            If the list contains open generic types, matching closed generic versions of each open generic
            type will be added to the list of implementations that is passed on to the 
            <paramref name="callback" /> delegate.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="callback">The delegate that will be called for each found closed generic version of
            the given open generic <paramref name="openGenericServiceType" /> to do the actual registration.</param>
      <param name="typesToRegister">The list of types that must be registered according to the given
            <paramref name="openGenericServiceType" /> definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />, 
            <paramref name="openGenericServiceType" />, <paramref name="callback" />, or 
            <paramref name="typesToRegister" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="typesToRegister" /> contains a null
            (Nothing in VB) element, when the <paramref name="openGenericServiceType" /> is not an open generic
            type, or one of the types supplied in <paramref name="typesToRegister" /> does not implement a 
            closed version of <paramref name="openGenericServiceType" />.
            </exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,System.Type[])">
      <summary>
            Registers all supplied <paramref name="typesToRegister" /> by a closed generic definition of the
            given <paramref name="openGenericServiceType" /> with a singleton lifetime.
            When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will return the exact same instance.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="typesToRegister">The list of types that must be registered according to the given
            <paramref name="openGenericServiceType" /> definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />, 
            <paramref name="openGenericServiceType" />, or <paramref name="typesToRegister" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="typesToRegister" /> contains a null
            (Nothing in VB) element, when the <paramref name="openGenericServiceType" /> is not an open generic
            type, or one of the types supplied in <paramref name="typesToRegister" /> does not implement a 
            closed version of <paramref name="openGenericServiceType" />.
            </exception>
      <exception cref="T:System.InvalidOperationException">Thrown when there are multiple types in the given
            <paramref name="typesToRegister" /> collection that implement the same closed version of the
            supplied <paramref name="openGenericServiceType" />.
            </exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers all supplied <paramref name="typesToRegister" /> by a closed generic definition of the
            given <paramref name="openGenericServiceType" /> with a singleton lifetime.
            When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will return the exact same instance.
            </summary>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="typesToRegister">The list of types that must be registered according to the given
            <paramref name="openGenericServiceType" /> definition.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />, 
            <paramref name="openGenericServiceType" />, or <paramref name="typesToRegister" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="typesToRegister" /> contains a null
            (Nothing in VB) element, when the <paramref name="openGenericServiceType" /> is not an open generic
            type, or one of the types supplied in <paramref name="typesToRegister" /> does not implement a 
            closed version of <paramref name="openGenericServiceType" />.
            </exception>
      <exception cref="T:System.InvalidOperationException">Thrown when there are multiple types in the given
            <paramref name="typesToRegister" /> collection that implement the same closed version of the
            supplied <paramref name="openGenericServiceType" />.
            </exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(System.Type,System.Reflection.Assembly[])">
      <summary>
            Returns all public types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the
            registration.
            </remarks>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(System.Type,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Returns all public types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the registration.
            </remarks>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">
      <summary>
            Returns all public types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            Types that are considered to be decorators are not returned.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the
            registration.
            </remarks>
      <param name="container">The container to use.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Returns all public types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            Types that are considered to be decorators are not returned.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the registration.
            </remarks>
      <param name="container">The container to use.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Reflection.Assembly[])">
      <summary>
            Registers  all concrete, non-generic types with the given <paramref name="accessibility" />
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with a transient lifetime.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same closed generic 
            version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic types with the given <paramref name="accessibility" /> 
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with a transient lifetime.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,SimpleInjector.Lifestyle,System.Reflection.Assembly[])">
      <summary>
            Registers  all concrete, non-generic types with the given <paramref name="accessibility" />
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with the supplied <paramref name="lifestyle" />.
            When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will point at the same registration and return the same instance based on the caching
            behavior of the supplied <paramref name="lifestyle" />.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="lifestyle">The lifestyle that will be used for the registration of the types.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="lifestyle" /> or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same closed generic 
            version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic types with the given <paramref name="accessibility" /> 
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with the supplied <paramref name="lifestyle" />.
            When a found type implements multiple 
            closed-generic versions of the given <paramref name="openGenericServiceType" />, both closed-generic
            service types will point at the same registration and return the same instance based on the caching
            behavior of the supplied <paramref name="lifestyle" />.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="lifestyle">The lifestyle that will be used for the registration of the types.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="lifestyle" /> or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,SimpleInjector.Extensions.BatchRegistrationCallback,System.Reflection.Assembly[])">
      <summary>
            Allows registration of all concrete, non-generic types with the given 
            <paramref name="accessibility" /> that are located in the given set of <paramref name="assemblies" /> 
            that implement the given <paramref name="openGenericServiceType" />, by supplying a 
            <see cref="T:SimpleInjector.Extensions.BatchRegistrationCallback" /> delegate, that will be called for each found closed generic 
            implementation of the given <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="callback">The delegate that will be called for each found closed generic version of
            the given open generic <paramref name="openGenericServiceType" /> to do the actual registration.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="callback" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,SimpleInjector.Extensions.BatchRegistrationCallback,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Allows registration of all concrete, non-generic types with the given 
            <paramref name="accessibility" /> that are located in the given set of <paramref name="assemblies" /> 
            that implement the given <paramref name="openGenericServiceType" />, by supplying a 
            <see cref="T:SimpleInjector.Extensions.BatchRegistrationCallback" /> delegate, that will be called for each found closed generic 
            implementation of the given <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="callback">The delegate that will be called for each found closed generic version of
            the given open generic <paramref name="openGenericServiceType" /> to do the actual registration.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, <paramref name="callback" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Reflection.Assembly[])">
      <summary>
            Registers  all concrete, non-generic types with the given <paramref name="accessibility" /> 
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with a singleton lifetime.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same closed generic 
            version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManySinglesForOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Registers all concrete, non-generic types with the given <paramref name="accessibility" /> 
            that are located in the given <paramref name="assemblies" /> that implement the given 
            <paramref name="openGenericServiceType" /> with a singleton lifetime.
            </summary>
      <remarks>
        <b>This method is not available in Silverlight.</b>
      </remarks>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" />,
            <paramref name="openGenericServiceType" />, or <paramref name="assemblies" /> contain a null
            reference (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="openGenericServiceType" /> is not
            an open generic type.</exception>
      <exception cref="T:System.InvalidOperationException">Thrown when the given set of 
            <paramref name="assemblies" /> contain multiple types that implement the same 
            closed generic version of the given <paramref name="openGenericServiceType" />.</exception>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Reflection.Assembly[])">
      <summary>
            Returns all types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), AccessibilityOption.PublicTypesOnly,
                    typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the
            registration.
            </remarks>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Returns all types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>.
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), AccessibilityOption.PublicTypesOnly, 
                    typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the registration.
            </remarks>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Reflection.Assembly[])">
      <summary>
            Returns all types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>. 
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), AccessibilityOption.PublicTypesOnly,
                    typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the
            registration.
            </remarks>
      <param name="container">The container to use.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.GetTypesToRegister(SimpleInjector.Container,System.Type,SimpleInjector.Extensions.AccessibilityOption,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
      <summary>
            Returns all types that are located in the supplied <paramref name="assemblies" /> 
            and implement or inherit from the supplied <paramref name="openGenericServiceType" />.
            </summary>
      <remarks>
            Use this method when you need influence the types that are registered using 
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>.
            The <b>RegisterManyForOpenGeneric</b> overloads that take a collection of <see cref="T:System.Reflection.Assembly" /> 
            objects use this method to get the list of types that need to be registered. Instead of calling 
            such overload, you can call an overload that takes a list of <see cref="T:System.Type" /> objects and pass 
            in a filtered result from this <b>GetTypesToRegister</b> method.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            var types = OpenGenericBatchRegistrationExtensions
                .GetTypesToRegister(typeof(ICommandHandler<>), AccessibilityOption.PublicTypesOnly, 
                    typeof(ICommandHandler<>).Assembly)
                .Where(type => !type.Name.EndsWith("Decorator"));
            
            container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), types);
            ]]></code>
            This example calls the <b>GetTypesToRegister</b> method to request a list of concrete implementations
            of the <b>ICommandHandler&lt;T&gt;</b> interface from the assembly of that interface. After that
            all types which name ends with 'Decorator' are filtered out. This list is supplied to an
            <see cref="M:SimpleInjector.Extensions.OpenGenericBatchRegistrationExtensions.RegisterManyForOpenGeneric(SimpleInjector.Container,System.Type,System.Reflection.Assembly[])">RegisterManyForOpenGeneric</see>
            overload that takes a list of types to finish the registration.
            </remarks>
      <param name="container">The container to use.</param>
      <param name="openGenericServiceType">The definition of the open generic type.</param>
      <param name="accessibility">Defines which types should be used from the given assemblies.</param>
      <param name="assemblies">A list of assemblies that will be searched.</param>
      <returns>A list of types.</returns>
      <exception cref="T:System.ComponentModel.InvalidEnumArgumentException">Thrown when 
            <paramref name="accessibility" /> contains an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="openGenericServiceType" />, or 
            <paramref name="assemblies" /> contain a null reference (Nothing in VB).</exception>
    </member>
    <member name="T:SimpleInjector.Extensions.AccessibilityOption">
      <summary>Defines the accessibility of the types to search.</summary>
      <remarks>This type is not available in Silverlight.</remarks>
    </member>
    <member name="F:SimpleInjector.Extensions.AccessibilityOption.AllTypes">
      <summary>Load both public as internal types from the given assemblies.</summary>
    </member>
    <member name="F:SimpleInjector.Extensions.AccessibilityOption.PublicTypesOnly">
      <summary>Only load publicly exposed types from the given assemblies.</summary>
    </member>
    <member name="T:SimpleInjector.Extensions.OpenGenericPredicateContext">
      <summary>
            An instance of this type will be supplied to the <see cref="T:System.Predicate`1" />
            delegate that is that is supplied to the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle,System.Predicate{SimpleInjector.Extensions.OpenGenericPredicateContext})">RegisterOpenGeneric</see>
            overload that takes this delegate. This type contains information about the open generic service that is about
            to be created and it allows the user to examine the given instance to decide whether this implementation should
            be created or not.
            </summary>
      <remarks>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle,System.Predicate{SimpleInjector.Extensions.OpenGenericPredicateContext})">RegisterOpenGeneric</see>
            method for more information.
            </remarks>
    </member>
    <member name="P:SimpleInjector.Extensions.OpenGenericPredicateContext.ServiceType">
      <summary>Gets the closed generic service type that is to be created.</summary>
      <value>The closed generic service type.</value>
    </member>
    <member name="P:SimpleInjector.Extensions.OpenGenericPredicateContext.ImplementationType">
      <summary>Gets the closed generic implementation type that will be created by the container.</summary>
      <value>The implementation type.</value>
    </member>
    <member name="P:SimpleInjector.Extensions.OpenGenericPredicateContext.Handled">
      <summary>Gets a value indicating whether a previous <b>RegisterOpenGeneric</b> registration has already
            been applied for the given <see cref="P:SimpleInjector.Extensions.OpenGenericPredicateContext.ServiceType" />.</summary>
      <value>The indication whether the event has been handled.</value>
    </member>
    <member name="T:SimpleInjector.Extensions.OpenGenericRegistrationExtensions">
      <summary>
            Provides a set of static (Shared in Visual Basic) methods for registration of open generic service
            types in the <see cref="T:SimpleInjector.Container" />.
            </summary>
    </member>
    <member name="T:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.UnregisteredOpenGenericResolver">
      <summary>Resolves a given open generic type.</summary>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type)">
      <summary>
            Registers that a new instance of <paramref name="openGenericImplementation" /> will be returned 
            every time a <paramref name="openGenericServiceType" /> is requested.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric(Container,Type,Type,Lifestyle)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="openGenericImplementation">The definition of the open generic implementation type
            that will be returned when a <paramref name="openGenericServiceType" /> is requested.</param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterSingleOpenGeneric(SimpleInjector.Container,System.Type,System.Type)">
      <summary>
            Registers that the same instance of <paramref name="openGenericImplementation" /> will be returned 
            every time a <paramref name="openGenericServiceType" /> is requested.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric(Container,Type,Type,Lifestyle)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances..</param>
      <param name="openGenericImplementation">The definition of the open generic implementation type
            that will be returned when a <paramref name="openGenericServiceType" /> is requested.</param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">
      <summary>
            Registers that a closed generic instance of the supplied 
            <paramref name="openGenericImplementation" /> will be returned when a closed generic version of
            the <paramref name="openGenericServiceType" /> is requested. The instance will be cached 
            according to the specified <paramref name="lifestyle" />.
            </summary>
      <remarks>
            Types registered using the <b>RegisterOpenGeneric</b> are resolved using unregistered type
            resolution. This means that an explicit registration made for a closed generic version of the
            <paramref name="openGenericServiceType" /> always gets resolved first and the given
            <paramref name="openGenericImplementation" /> only gets resolved when there is no such registration.
            </remarks>
      <example>
            The following example shows the definition of a generic <b>IValidator&lt;T&gt;</b> interface
            and, a <b>NullValidator&lt;T&gt;</b> implementation and a specific validator for Orders.
            The registration ensures a <b>OrderValidator</b> is returned when a 
            <b>IValidator&lt;Order&gt;</b> is requested. For all requests for a 
            <b>IValidator&lt;T&gt;</b> other than a <b>IValidator&lt;Order&gt;</b>, an 
            implementation of <b>NullValidator&lt;T&gt;</b> will be returned.
            <code lang="cs"><![CDATA[
            public interface IValidator<T>
            { 
                void Validate(T instance);
            }
            
            public class NullValidator<T> : IValidator<T>
            {
                public void Validate(T instance)
                {
                }
            }
            
            public class OrderValidator : IValidator<Order>
            {
                public void Validate(Order instance)
                {
                    if (instance.Total < 0)
                    {
                        throw new ValidationException("Total can not be negative.");
                    }
                }
            }
            
            [TestMethod]
            public static void TestRegisterOpenGeneric()
            {
                // Arrange
                var container = new Container();
                
                container.Register<IValidator<Order>, OrderValidator>(Lifestyle.Transient);
                container.RegisterOpenGeneric(typeof(IValidator<>), typeof(NullValidator<>), Lifestyle.Singleton);
                
                // Act
                var orderValidator = container.GetInstance<IValidator<Order>>();
                var customerValidator = container.GetInstance<IValidator<Customer>>();
                var productValidator = container.GetInstance<IValidator<Product>>();
            
                // Assert
                Assert.IsInstanceOfType(orderValidator, typeof(OrderValidator));
                Assert.IsInstanceOfType(customerValidator, typeof(NullValidator<Customer>));
                Assert.IsInstanceOfType(productValidator, typeof(NullValidator<Product>));
            }
            ]]></code></example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="openGenericImplementation">The definition of the open generic implementation type
            that will be returned when a <paramref name="openGenericServiceType" /> is requested.</param>
      <param name="lifestyle">The lifestyle that defines how returned instances are cached.</param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle,System.Predicate{SimpleInjector.Extensions.OpenGenericPredicateContext})">
      <summary>
            Registers that the same instance of <paramref name="openGenericImplementationType" /> will be returned 
            every time a <paramref name="openGenericServiceType" /> is requested.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterOpenGeneric(SimpleInjector.Container,System.Type,System.Type,SimpleInjector.Lifestyle)">RegisterOpenGeneric(Container,Type,Type,Lifestyle)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances..</param>
      <param name="openGenericImplementationType">The definition of the open generic implementation type
            that will be returned when a <paramref name="openGenericServiceType" /> is requested.</param>
      <param name="lifestyle">The lifestyle that defines how returned instances are cached.</param>
      <param name="predicate">The predicate that determines whether the 
            <paramref name="openGenericImplementationType" /> can implement the service type.</param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,System.Type[])">
      <summary>
            Registers that instances of <paramref name="openGenericImplementations" /> will be returned 
            when a collection of <paramref name="openGenericServiceType" /> is requested. New instances of 
            the registered <paramref name="openGenericImplementations" /> will be returned whenever the
            resolved collection is itereated.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Type})">RegisterAllOpenGeneric(Container,Type,Lifestyle,IEnumerable&lt;Type&gt;)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="openGenericImplementations">The list of open generic implementation types
            that will be returned when a collection of <paramref name="openGenericServiceType" /> is requested.
            </param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers that instances of <paramref name="openGenericImplementations" /> will be returned 
            when a collection of <paramref name="openGenericServiceType" /> is requested. New instances of 
            the registered <paramref name="openGenericImplementations" /> will be returned whenever the
            resolved collection is itereated.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Type})">RegisterAllOpenGeneric(Container,Type,Lifestyle,IEnumerable&lt;Type&gt;)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="openGenericImplementations">The list of open generic implementation types
            that will be returned when a collection of <paramref name="openGenericServiceType" /> is requested.
            </param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Type[])">
      <summary>
            Registers that instances of <paramref name="openGenericImplementations" /> will be returned 
            when a collection of <paramref name="openGenericServiceType" /> is requested. The instances will be 
            cached according to the specified <paramref name="lifestyle" />.
            </summary>
      <example>
            Please see the 
            <see cref="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Type})">RegisterAllOpenGeneric(Container,Type,Lifestyle,IEnumerable&lt;Type&gt;)</see>
            overload for an example.
            </example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="lifestyle">The lifestyle that defines how returned instances are cached.</param>
      <param name="openGenericImplementations">The list of open generic implementation types
            that will be returned when a collection of <paramref name="openGenericServiceType" /> is requested.
            </param>
    </member>
    <member name="M:SimpleInjector.Extensions.OpenGenericRegistrationExtensions.RegisterAllOpenGeneric(SimpleInjector.Container,System.Type,SimpleInjector.Lifestyle,System.Collections.Generic.IEnumerable{System.Type})">
      <summary>
            Registers that instances of <paramref name="openGenericImplementations" /> will be returned 
            when a collection of <paramref name="openGenericServiceType" /> is requested. The instances will be 
            cached according to the specified <paramref name="lifestyle" />.
            </summary>
      <remarks>
        <para>
            Collections registered using the <b>RegisterAllOpenGeneric</b> are resolved using unregistered type
            resolution. This means that an explicit registration made for a collection of the closed generic 
            version of the <paramref name="openGenericServiceType" /> always gets resolved first and a 
            collection of <paramref name="openGenericImplementations" /> only gets resolved when there is no 
            such registration.
            </para>
      </remarks>
      <example>
            The following example shows the definition of a generic <b>IValidator&lt;T&gt;</b> interface
            and, a <b>NullValidator&lt;T&gt;</b> implementation and a specific validator for Orders.
            The registration ensures a <b>OrderValidator</b> is returned when a 
            <b>IValidator&lt;Order&gt;</b> is requested. For all requests for a 
            <b>IValidator&lt;T&gt;</b> other than a <b>IValidator&lt;Order&gt;</b>, an 
            implementation of <b>NullValidator&lt;T&gt;</b> will be returned.
            <code lang="cs"><![CDATA[
            public interface IValidator<T>
            { 
                void Validate(T instance);
            }
            
            public class DefaultValidator<T> : IValidator<T>
            {
                public void Validate(T instance)
                {
                    // some default validation
                }
            }
            
            [TestMethod]
            public static void TestRegisterAllOpenGeneric()
            {
                // Arrange
                var container = new Container();
                
                Type[] types = new[] { typeof(OrderValidator), typeof(DefaultValidator<>) };
                
                container.RegisterManyForOpenGeneric(typeof(IValidator<>),
                    (serviceType, implementationTypes) => container.RegisterAll(serviceType, implementationTypes), 
                    types);
                
                container.RegisterAllOpenGeneric(typeof(IValidator<>), typeof(DefaultValidator<>));
                
                // Act
                var orderValidators = container.GetAllInstances<IValidator<Order>>();
                var customerValidators = container.GetAllInstances<IValidator<Customer>>();
            
                // Assert
                Assert.IsTrue(orderValidators.SequenceEqual(
                    new[] { typeof(OrderValidator), typeof(DefaultValidator<Order>) }));
                
                // Without the call to RegisterAllOpenGeneric this customerValidators would be empty.
                Assert.IsTrue(customerValidators.SequenceEqual(new[] { typeof(DefaultValidator<Customer>) }));
            }
            ]]></code></example>
      <param name="container">The container to make the registrations in.</param>
      <param name="openGenericServiceType">The definition of the open generic service type that can be 
            used to retrieve instances.</param>
      <param name="lifestyle">The lifestyle that defines how returned instances are cached.</param>
      <param name="openGenericImplementations">The list of open generic implementation types
            that will be returned when a collection of <paramref name="openGenericServiceType" /> is requested.
            </param>
    </member>
    <member name="T:SimpleInjector.Extensions.TypeConstraintValidator">
      <summary>
            Allows validating an ArgumentMapping.
            </summary>
    </member>
    <member name="T:SimpleInjector.Lifestyle">
      <summary>
            Instances returned from the container can be cached. The <see cref="T:SimpleInjector.Container" /> contains several
            overloads of the <b>Register</b> method that take a <b>Lifestyle</b> instance as argument to define 
            how returned instances should be cached. The core library contains two lifestyles out of the box. By
            supplying <see cref="F:SimpleInjector.Lifestyle.Transient">Lifestyle.Transient</see>, the registered instance is not
            cached; a new instance is returned every time it is requested or injected. By supplying
            <see cref="F:SimpleInjector.Lifestyle.Singleton">Lifestyle.Singleton</see> instances can be cached indefinately; only
            a single instance of the registered component will be returned by that container instance. Other
            lifestyles are defined in integration and extension packages. The 
            <see cref="M:SimpleInjector.Lifestyle.CreateCustom(System.String,SimpleInjector.CreateLifestyleApplier)">CreateCustom</see> method allows defining a custom lifestyle and 
            the <see cref="M:SimpleInjector.Lifestyle.CreateHybrid(System.Func{System.Boolean},SimpleInjector.Lifestyle,SimpleInjector.Lifestyle)">CreateHybrid</see> method 
            allows creating a lifestle that mixes multiple other lifestyles.
            </summary>
      <remarks>
            This type is abstract and can be overridden to implement a custom lifestyle.
            </remarks>
    </member>
    <member name="F:SimpleInjector.Lifestyle.Transient">
      <summary>
            The lifestyle instance that doesn't cache instances. A new instance of the specified
            component is created every time the registered service it is requested or injected.
            </summary>
      <example>
            The following example registers the <c>SomeServiceImpl</c> implementation for the
            <c>ISomeService</c> service type using the <b>Transient</b> lifestyle:
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            container.Register<ISomeService, SomeServiceImpl>(Lifestyle.Transient);
            ]]></code>
            Note that <b>Transient</b> is the default lifestyle, the previous registration can be reduced to
            the following:
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            // Transient registration.
            container.Register<ISomeService, SomeServiceImpl>();
            ]]></code></example>
    </member>
    <member name="F:SimpleInjector.Lifestyle.Singleton">
      <summary>
            The lifestyle that caches components during the lifetime of the <see cref="T:SimpleInjector.Container" /> instance
            and guarantees that only a single instance of that component is created for that instance. Since
            general use is to create a single <b>Container</b> instance for the lifetime of the application /
            AppDomain, this would mean that only a single instance of that component would exist during the
            lifetime of the application. In a multi-threaded applications, implementations registered using 
            this lifestyle must be thread-safe.
            </summary>
      <example>
            The following example registers the <c>RealTimeProvider</c> implementation for the
            <c>ITimeProvider</c> service type using the <b>Singleton</b> lifestyle:
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            container.Register<ITimeProvider, RealTimeProvider>(Lifestyle.Singleton);
            ]]></code>
            Note that using the 
            <see cref="M:SimpleInjector.Container.RegisterSingle``2">RegisterSingle</see> method has 
            the same effect:
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            // Singleton registration.
            container.RegisterSingle<ITimeProvider, RealTimeProvider>();
            ]]></code></example>
    </member>
    <member name="M:SimpleInjector.Lifestyle.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.Lifestyle" /> class.</summary>
      <param name="name">The user friendly name of this lifestyle.</param>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="name" /> is null (Nothing in VB) 
            or an empty string.</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateHybrid(System.Func{System.Boolean},SimpleInjector.Lifestyle,SimpleInjector.Lifestyle)">
      <summary>
            The hybrid lifestyle allows mixing two lifestyles in a single registration. Based on the supplied
            <paramref name="lifestyleSelector" /> delegate the hybrid lifestyle will redirect the creation of 
            the instance to the correct lifestyle. The result of the <paramref name="lifestyleSelector" /> 
            delegate will not be cached; it is invoked each time an instance is requested or injected. By 
            nesting hybrid lifestyles, any number of lifestyles can be mixed.
            </summary>
      <param name="lifestyleSelector">The <see cref="T:System.Func`1" /> delegate that determines which 
            lifestyle should be used. The <paramref name="trueLifestyle" /> will be used if <b>true</b> is 
            returned; the <paramref name="falseLifestyle" /> otherwise. This delegate will be called every
            time an instance needs to be resolved or injected.</param>
      <param name="trueLifestyle">The lifestyle to use when <paramref name="lifestyleSelector" /> 
            returns <b>true</b>.</param>
      <param name="falseLifestyle">The lifestyle to use when <paramref name="lifestyleSelector" /> 
            returns <b>false</b>.</param>
      <returns>A new hybrid lifestyle that wraps the supplied lifestyles.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
      <example>
        <para>
            The following example shows the creation of a <b>HybridLifestyle</b> that mixes an 
            <b>WebRequestLifestyle</b> and <b>LifetimeScopeLifestyle</b>:
            </para>
        <code lang="cs"><![CDATA[
            // NOTE: WebRequestLifestyle is located in SimpleInjector.Integration.Web.dll.
            // NOTE: LifetimeScopeLifestyle is located in SimpleInjector.Extensions.LifetimeScoping.dll.
            var mixedScopeLifestyle = Lifestyle.CreateHybrid(
                () => HttpContext.Current != null,
                new WebRequestLifestyle(),
                new LifetimeScopeLifestyle());
            
            // The created lifestyle can be reused for many registrations.
            container.Register<IUserRepository, SqlUserRepository>(mixedScopeLifestyle);
            container.Register<ICustomerRepository, SqlCustomerRepository>(mixedScopeLifestyle);
            ]]></code>
        <para>
            Hybrid lifestyles can be nested:
            </para>
        <code lang="cs"><![CDATA[
            var mixedLifetimeTransientLifestyle = Lifestyle.CreateHybrid(
                () => container.GetCurrentLifetimeScope() != null,
                new LifetimeScopeLifestyle(),
                Lifestyle.Transient);
            
            var mixedScopeLifestyle = Lifestyle.CreateHybrid(
                () => HttpContext.Current != null,
                new WebRequestLifestyle(),
                mixedLifetimeTransientLifestyle);
            ]]></code>
        <para>
            The <b>mixedScopeLifestyle</b> now mixed three lifestyles: Web Request, Lifetime Scope and 
            Transient.
            </para>
      </example>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateHybrid(System.Func{System.Boolean},SimpleInjector.ScopedLifestyle,SimpleInjector.ScopedLifestyle)">
      <summary>
            The hybrid lifestyle allows mixing two lifestyles in a single registration. Based on the supplied
            <paramref name="lifestyleSelector" /> delegate the hybrid lifestyle will redirect the creation of 
            the instance to the correct lifestyle. The result of the <paramref name="lifestyleSelector" /> 
            delegate will not be cached; it is invoked each time an instance is requested or injected. By 
            nesting hybrid lifestyles, any number of lifestyles can be mixed.
            </summary>
      <param name="lifestyleSelector">The <see cref="T:System.Func`1" /> delegate that determines which 
            lifestyle should be used. The <paramref name="trueLifestyle" /> will be used if <b>true</b> is 
            returned; the <paramref name="falseLifestyle" /> otherwise. This delegate will be called every
            time an instance needs to be resolved or injected.</param>
      <param name="trueLifestyle">The scoped lifestyle to use when <paramref name="lifestyleSelector" /> 
            returns <b>true</b>.</param>
      <param name="falseLifestyle">The scoped lifestyle to use when <paramref name="lifestyleSelector" /> 
            returns <b>false</b>.</param>
      <returns>A new scoped hybrid lifestyle that wraps the supplied lifestyles.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the supplied arguments is a null
            reference (Nothing in VB).</exception>
      <example>
        <para>
            The following example shows the creation of a <b>HybridLifestyle</b> that mixes an 
            <b>WebRequestLifestyle</b> and <b>LifetimeScopeLifestyle</b>:
            </para>
        <code lang="cs"><![CDATA[
            // NOTE: WebRequestLifestyle is located in SimpleInjector.Integration.Web.dll.
            // NOTE: LifetimeScopeLifestyle is located in SimpleInjector.Extensions.LifetimeScoping.dll.
            var mixedScopeLifestyle = Lifestyle.CreateHybrid(
                () => HttpContext.Current != null,
                new WebRequestLifestyle(),
                new LifetimeScopeLifestyle());
            
            // The created lifestyle can be reused for many registrations.
            container.Register<IUserRepository, SqlUserRepository>(mixedScopeLifestyle);
            container.Register<ICustomerRepository, SqlCustomerRepository>(mixedScopeLifestyle);
            ]]></code>
      </example>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateCustom(System.String,SimpleInjector.CreateLifestyleApplier)">
      <summary>
            Creates a custom lifestyle using the supplied <paramref name="lifestyleApplierFactory" /> delegate.
            </summary>
      <remarks>
            The supplied <paramref name="lifestyleApplierFactory" /> will be called just once per registered 
            service. The supplied <paramref name="lifestyleApplierFactory" /> will be called by the framework
            when the type is resolved for the first time, and the framework will supply the factory with a
            <b>Func&lt;object&gt;</b> for creating new (transient) instances of that type (that might
            have been <see cref="E:SimpleInjector.Container.ExpressionBuilding">intercepted</see> and
            <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">initializers</see> might have been applied). 
            It is the job of the <paramref name="lifestyleApplierFactory" /> to return a <b>Func&lt;object&gt;</b>
            that applies the proper caching. The <b>Func&lt;object&gt;</b> that is returned by the 
            <paramref name="lifestyleApplierFactory" /> will be stored for that registration (every 
            registration will store its own <b>Func&lt;object&gt;</b> delegate) and this delegate will be
            called everytime the service is resolved (by calling 
            <code>container.GetInstance&lt;TService&gt;</code> or when that service is injected into another
            type). 
            </remarks>
      <param name="name">The name of the lifestyle to create. The name is used to display the lifestyle
            in the debugger.</param>
      <param name="lifestyleApplierFactory">A factory delegate that takes a <b>Func&lt;object&gt;</b> delegate
            that will produce a transient instance and returns a delegate that returns cached instances.</param>
      <returns>A new <see cref="T:SimpleInjector.Lifestyle" />.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="name" /> is an empty string.</exception>
      <example>
            The following example shows the creation of a lifestyle that caches registered instances for 10
            minutes:
            <code lang="cs"><![CDATA[
            var customLifestyle = Lifestyle.CreateCustom("Absolute 10 Minute Expiration", instanceCreator =>
            {
                TimeSpan timeout = TimeSpan.FromMinutes(10);
                var syncRoot = new object();
                var expirationTime = DateTime.MinValue;
                object instance = null;
            
                // If the application has multiple registrations using this lifestyle, each registration
                // will get its own Func<object> delegate (created here) and therefore get its own set
                // of variables as defined above.
                return () =>
                {
                    lock (syncRoot)
                    {
                        if (expirationTime < DateTime.UtcNow)
                        {
                            instance = instanceCreator();
                            expirationTime = DateTime.UtcNow.Add(timeout);
                        }
            
                        return instance;
                    }
                };
            });
            
            var container = new Container();
            
            // We can reuse the created lifestyle for multiple registrations.
            container.Register<IService, MyService>(customLifestyle);
            container.Register<AnotherService, MeTwoService>(customLifestyle);
            ]]></code></example>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateProducer``2(SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.InstanceProducer" /> instance for the given <typeparamref name="TService" />
            that will create new instances of specified <typeparamref name="TImplementation" /> with the 
            caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be created.</typeparam>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.InstanceProducer" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.InstanceProducer" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" /> is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateProducer``1(System.Func{``0},SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.InstanceProducer" /> instance for the given <typeparamref name="TService" />
            that will create new instances instance using the supplied <paramref name="instanceCreator" /> 
            with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <param name="instanceCreator">A delegate that will create a new instance of 
            <typeparamref name="TService" /> every time it is called.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.InstanceProducer" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.InstanceProducer" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="instanceCreator" /> or
            <paramref name="container" /> are null references (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateProducer(System.Type,System.Type,SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.InstanceProducer" /> instance for the given <paramref name="serviceType" />
            that will create new instances of specified <paramref name="implementationType" /> with the 
            caching as specified by this lifestyle.
            </summary>
      <param name="serviceType">The interface or base type that can be used to retrieve the instances.</param>
      <param name="implementationType">The concrete type that will be registered.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.InstanceProducer" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when on of the supplied arguments is a null 
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration``1(SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TConcrete" /> with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TConcrete">The concrete type that will be registered.</typeparam>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" /> is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration``2(SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TImplementation" /> with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be created.</typeparam>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="container" /> is a null
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration``1(System.Func{``0},SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TService" /> using the supplied <paramref name="instanceCreator" /> 
            with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <param name="instanceCreator">A delegate that will create a new instance of 
            <typeparamref name="TService" /> every time it is called.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when either <paramref name="instanceCreator" /> or
            <paramref name="container" /> are null references (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration(System.Type,SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <paramref name="concreteType" /> with the caching as specified by this lifestyle.
            This method might fail when run in a partial trust sandbox when <paramref name="concreteType" />
            is an internal type.
            </summary>
      <param name="concreteType">The concrete type that will be registered.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when on of the supplied arguments is a null 
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration(System.Type,System.Type,SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <paramref name="implementationType" /> with the caching as specified by this lifestyle.
            This method might fail when run in a partial trust sandbox when <paramref name="implementationType" />
            is an internal type.
            </summary>
      <param name="serviceType">The interface or base type that can be used to retrieve the instances.</param>
      <param name="implementationType">The concrete type that will be registered.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when on of the supplied arguments is a null 
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistration(System.Type,System.Func{System.Object},SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <paramref name="serviceType" />  using the supplied <paramref name="instanceCreator" /> 
            with the caching as specified by this lifestyle.
            </summary>
      <param name="serviceType">The interface or base type that can be used to retrieve the instances.</param>
      <param name="instanceCreator">The delegate that will be responsible for creating new instances.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <exception cref="T:System.ArgumentNullException">Thrown when on of the supplied arguments is a null 
            reference (Nothing in VB).</exception>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistrationCore``2(SimpleInjector.Container)">
      <summary>
            When overridden in a derived class, 
            creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TImplementation" /> with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <remarks>
            If you are implementing your own lifestyle, override this method to implement the code necessary 
            to create and return a new <see cref="T:SimpleInjector.Registration" />. Note that you should <b>always</b> create
            a new <see cref="T:SimpleInjector.Registration" /> instance. They should never be cached.
            </remarks>
    </member>
    <member name="M:SimpleInjector.Lifestyle.CreateRegistrationCore``1(System.Func{``0},SimpleInjector.Container)">
      <summary>
            When overridden in a derived class, 
            creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TService" /> using the supplied <paramref name="instanceCreator" /> 
            with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <param name="instanceCreator">A delegate that will create a new instance of 
            <typeparamref name="TService" /> every time it is called.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
      <remarks>
            If you are implementing your own lifestyle, override this method to implement the code necessary 
            to create and return a new <see cref="T:SimpleInjector.Registration" />. Note that you should <b>always</b> create
            a new <see cref="T:SimpleInjector.Registration" /> instance. They should never be cached.
            </remarks>
    </member>
    <member name="P:SimpleInjector.Lifestyle.Name">
      <summary>Gets the user friendly name of this lifestyle.</summary>
      <value>The user friendly name of this lifestyle.</value>
    </member>
    <member name="P:SimpleInjector.Lifestyle.Length">
      <summary>
            Gets the length of the lifestyle. Implementers must implement this property. The diagnostic
            services use this value to compare lifestyles with each other to determine lifestyle 
            misconfigurations.
            </summary>
      <value>The <see cref="T:System.Int32" /> representing the length of this lifestyle.</value>
    </member>
    <member name="T:SimpleInjector.Advanced.KnownRelationship">
      <summary>
            A known relationship defines a relationship between two types. The Diagnostics Debug View uses this
            information to spot possible misconfigurations. 
            </summary>
    </member>
    <member name="M:SimpleInjector.Advanced.KnownRelationship.#ctor(System.Type,SimpleInjector.Lifestyle,SimpleInjector.InstanceProducer)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> class.</summary>
      <param name="implementationType">The implementation type of the parent type.</param>
      <param name="lifestyle">The lifestyle of the parent type.</param>
      <param name="dependency">The type that the parent depends on (it is injected into the parent).</param>
    </member>
    <member name="M:SimpleInjector.Advanced.KnownRelationship.GetHashCode">
      <summary>Serves as a hash function for a particular type.</summary>
      <returns>A hash code for the current <see cref="T:SimpleInjector.Advanced.KnownRelationship" />.</returns>
    </member>
    <member name="M:SimpleInjector.Advanced.KnownRelationship.Equals(SimpleInjector.Advanced.KnownRelationship)">
      <summary>
            Determines whether the specified <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> is equal to the current 
            <see cref="T:SimpleInjector.Advanced.KnownRelationship" />.
            </summary>
      <param name="other">The object to compare with the current object.</param>
      <returns>True if the specified <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> is equal to the current 
            <see cref="T:SimpleInjector.Advanced.KnownRelationship" />; otherwise, false.</returns>
    </member>
    <member name="P:SimpleInjector.Advanced.KnownRelationship.ImplementationType">
      <summary>Gets the implementation type of the parent type of the relationship.</summary>
      <value>The implementation type of the parent type of the relationship.</value>
    </member>
    <member name="P:SimpleInjector.Advanced.KnownRelationship.Lifestyle">
      <summary>Gets the lifestyle of the parent type of the relationship.</summary>
      <value>The lifestyle of the parent type of the relationship.</value>
    </member>
    <member name="P:SimpleInjector.Advanced.KnownRelationship.Dependency">
      <summary>Gets the type that the parent depends on (it is injected into the parent).</summary>
      <value>The type that the parent depends on.</value>
    </member>
    <member name="T:SimpleInjector.CreateLifestyleApplier">
      <summary>
            Factory for the creation of a delegate that applies caching to the supplied 
            <paramref name="transientInstanceCreator" />.
            </summary>
      <param name="transientInstanceCreator">A factory for creating new instances.</param>
      <returns>A factory that returns cached instances.</returns>
    </member>
    <member name="T:SimpleInjector.ScopedLifestyle">
      <summary>
            Base class for scoped lifestyles. A scoped lifestyle caches instances for the duration of an implicitly
            or explicitly defined scope. Such scope can be an (implicitly defined) web request or an explicitly
            defined Lifetime Scope. The lifetime of instances registered with a scoped lifestyle is always equal
            or bigger than one-instance-per-object-graph. In other words, a call to GetInstance() will never create
            more than one instance of such registered type.
            </summary>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.ScopedLifestyle" /> class.</summary>
      <param name="name">The user friendly name of this lifestyle.</param>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="name" /> is null (Nothing in VB) 
            or an empty string.</exception>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.#ctor(System.String,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.ScopedLifestyle" /> class.</summary>
      <param name="name">The user friendly name of this lifestyle.</param>
      <param name="disposeInstances">Signals the lifestyle whether instances should be
            disposed or not.</param>
      <exception cref="T:System.ArgumentException">Thrown when <paramref name="name" /> is null (Nothing in VB) 
            or an empty string.</exception>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.WhenScopeEnds(SimpleInjector.Container,System.Action)">
      <summary>
            Allows registering an <paramref name="action" /> delegate that will be called when the scope ends,
            but before the scope disposes any instances.
            </summary>
      <remarks>
            During the call to <see cref="M:SimpleInjector.Scope.Dispose" /> all registered <see cref="T:System.Action" /> delegates are
            processed in the order of registration. Do note that registered actions <b>are not guaranteed
            to run</b>. In case an exception is thrown during the call to <see cref="M:SimpleInjector.Scope.Dispose" />, the 
            <see cref="T:SimpleInjector.Scope" /> will stop running any actions that might not have been invoked at that point. 
            Instances that are registered for disposal using <see cref="M:SimpleInjector.ScopedLifestyle.RegisterForDisposal(SimpleInjector.Container,System.IDisposable)" /> on the other
            hand, are guaranteed to be disposed. Note that registered actions won't be invoked during a call
            to <see cref="M:SimpleInjector.Container.Verify" />.
            </remarks>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance.</param>
      <param name="action">The delegate to run when the scope ends.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.InvalidOperationException">Will be thrown when there is currently no active
            scope for the supplied <paramref name="container" />.</exception>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.RegisterForDisposal(SimpleInjector.Container,System.IDisposable)">
      <summary>
            Adds the <paramref name="disposable" /> to the list of items that will get disposed when the
            scope ends.
            </summary>
      <remarks>
            Note to implementers: Instances registered for disposal will have to be disposed in the opposite
            order of registration, since disposable components might still need to call disposable dependencies
            in their Dispose() method.
            </remarks>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance.</param>
      <param name="disposable">The instance that should be disposed when the scope ends.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when one of the arguments is a null reference
            (Nothing in VB).</exception>
      <exception cref="T:System.InvalidOperationException">Will be thrown when there is currently no active
            scope for the supplied <paramref name="container" />.</exception>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.GetCurrentScope(SimpleInjector.Container)">
      <summary>
            Returns the current <see cref="T:SimpleInjector.Scope" /> for this lifestyle and the given 
            <paramref name="container" />, or null when this method is executed outside the context of a scope.
            </summary>
      <param name="container">The container instance that is related to the scope to return.</param>
      <returns>A <see cref="T:SimpleInjector.Scope" /> instance or null when there is no scope active in this context.</returns>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.CreateCurrentScopeProvider(SimpleInjector.Container)">
      <summary>
            Creates a delegate that that upon invocation return the current <see cref="T:SimpleInjector.Scope" /> for this
            lifestyle and the given <paramref name="container" />, or null when the delegate is executed outside
            the context of such scope.
            </summary>
      <param name="container">The container for which the delegate gets created.</param>
      <returns>A <see cref="T:System.Func`1" /> delegate. This method never returns null.</returns>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.GetCurrentScopeCore(SimpleInjector.Container)">
      <summary>
            Returns the current <see cref="T:SimpleInjector.Scope" /> for this lifestyle and the given 
            <paramref name="container" />, or null when this method is executed outside the context of a scope.
            </summary>
      <param name="container">The container instance that is related to the scope to return.</param>
      <returns>A <see cref="T:SimpleInjector.Scope" /> instance or null when there is no scope active in this context.</returns>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.CreateRegistrationCore``1(System.Func{``0},SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TService" /> using the supplied <paramref name="instanceCreator" /> 
            with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <param name="instanceCreator">A delegate that will create a new instance of 
            <typeparamref name="TService" /> every time it is called.</param>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.CreateRegistrationCore``2(SimpleInjector.Container)">
      <summary>
            Creates a new <see cref="T:SimpleInjector.Registration" /> instance defining the creation of the
            specified <typeparamref name="TImplementation" /> with the caching as specified by this lifestyle.
            </summary>
      <typeparam name="TService">The interface or base type that can be used to retrieve the instances.</typeparam>
      <typeparam name="TImplementation">The concrete type that will be registered.</typeparam>
      <param name="container">The <see cref="T:SimpleInjector.Container" /> instance for which a 
            <see cref="T:SimpleInjector.Registration" /> must be created.</param>
      <returns>A new <see cref="T:SimpleInjector.Registration" /> instance.</returns>
    </member>
    <member name="M:SimpleInjector.ScopedLifestyle.DisposeInstances(System.Collections.Generic.IList{System.IDisposable})">
      <summary>
            Disposes the list of supplied <paramref name="disposables" />. The list is iterated in reverse 
            order (the first element in the list will be disposed last) and the method ensures that the
            Dispose method of each element is called, regardless of any exceptions raised from any previously
            called Dispose methods. If multiple exceptions are thrown, the last thrown exception will bubble
            up the call stack.
            </summary>
      <param name="disposables">The list of objects to be disposed.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="disposables" /> is a null
            reference.</exception>
    </member>
    <member name="T:SimpleInjector.Helpers">
      <summary>
            Helper methods for the container.
            </summary>
    </member>
    <member name="T:SimpleInjector.InstanceProducer">
      <summary>
            Produces instances for a given registration. Instances of this type are generally created by the
            container when calling one of the <b>Register</b> overloads. Instances can be retrieved by calling
            <see cref="M:SimpleInjector.Container.GetCurrentRegistrations" /> or <see cref="M:SimpleInjector.Container.GetRegistration(System.Type,System.Boolean)" />.
            </summary>
      <remarks>
            The <b>Register</b> method overloads create <b>InstanceProducer</b> instances internally, but
            <b>InstanceProducer</b>s can be created manually to implement special scenarios. An 
            <b>InstanceProducer</b> wraps <see cref="P:SimpleInjector.InstanceProducer.Registration" /> instance. The <b>Registration</b> builds an
            <see cref="T:System.Linq.Expressions.Expression" /> that describes the intend to create the instance according to a certain
            lifestyle. The <b>InstanceProducer</b> on the other hand transforms this <b>Expression</b> to a
            delegate and allows the actual instance to be created. A <b>Registration</b> itself can't create any
            instance. The <b>InsanceProducer</b> allows intercepting created instances by hooking onto the
            <see cref="E:SimpleInjector.Container.ExpressionBuilt">Container.ExpressionBuilt</see> event. The
            <see cref="M:SimpleInjector.Extensions.DecoratorExtensions.RegisterDecorator(SimpleInjector.Container,System.Type,System.Type)">RegisterDecorator</see>
            extension methods for instance work by hooking onto the <b>ExpressionBuilt</b> event and allow
            wrapping the returned instance with a decorator.
            </remarks>
      <example>
            The following example shows the creation of two different <b>InstanceProducer</b> instances that wrap
            the same <b>Registration</b> instance. Since the <b>Registration</b> is created using the 
            <see cref="F:SimpleInjector.Lifestyle.Singleton">Singleton</see> lifestyle, both producers will return 
            the same instance. The <b>InstanceProducer</b> for the <code>Interface1</code> however, will wrap that
            instance in a (transient) <code>Interface1Decorator</code>.
            <code lang="cs"><![CDATA[
            var container = new Container();
            
            // ServiceImpl implements both Interface1 and Interface2.
            var registration = Lifestyle.Singleton.CreateRegistration<ServiceImpl, ServiceImpl>(container);
            
            var producer1 = new InstanceProducer(typeof(Interface1), registration);
            var producer2 = new InstanceProducer(typeof(Interface2), registration);
            
            container.RegisterDecorator(typeof(Interface1), typeof(Interface1Decorator));
            
            var instance1 = (Interface1)producer1.GetInstance();
            var instance2 = (Interface2)producer2.GetInstance();
            
            Assert.IsInstanceOfType(instance1, typeof(Interface1Decorator));
            Assert.IsInstanceOfType(instance2, typeof(ServiceImpl));
            
            Assert.AreSame(((Interface1Decorator)instance1).DecoratedInstance, instance2);
            ]]></code></example>
    </member>
    <member name="M:SimpleInjector.InstanceProducer.#ctor(System.Type,SimpleInjector.Registration)">
      <summary>Initializes a new instance of the <see cref="T:SimpleInjector.InstanceProducer" /> class.</summary>
      <param name="serviceType">The service type for which this instance is created.</param>
      <param name="registration">The <see cref="P:SimpleInjector.InstanceProducer.Registration" />.</param>
    </member>
    <member name="M:SimpleInjector.InstanceProducer.GetInstance">
      <summary>Produces an instance.</summary>
      <returns>An instance. Will never return null.</returns>
      <exception cref="T:SimpleInjector.ActivationException">When the instance could not be retrieved or is null.</exception>
    </member>
    <member name="M:SimpleInjector.InstanceProducer.BuildExpression">
      <summary>
            Builds an expression that expresses the intent to get an instance by the current producer. A call 
            to this method locks the container. No new registrations can't be made after a call to this method.
            </summary>
      <returns>An Expression.</returns>
    </member>
    <member name="M:SimpleInjector.InstanceProducer.GetRelationships">
      <summary>
            Gets the collection of relationships for this instance that the container knows about.
            This includes relationships between the registered type and its dependencies and relationships 
            between applied decorators and their dependencies. Note that types that are not newed up by the 
            container, property dependencies that are injected using the (legacy)
            <see cref="M:SimpleInjector.Container.InjectProperties(System.Object)">InjectProperties</see> method, and
            properties that are injected inside a custom delegate that is registered using the
            <see cref="M:SimpleInjector.Container.RegisterInitializer``1(System.Action{``0})">RegisterInitializer</see> method are unknown
            to the container and are not returned from this method.
            Also note that this method will return an empty collection when called before the the
            registered type is requested from the container (or before <see cref="M:SimpleInjector.Container.Verify">Verify</see>
            is called). 
            </summary>
      <returns>An array of <see cref="T:SimpleInjector.Advanced.KnownRelationship" /> instances.</returns>
    </member>
    <member name="P:SimpleInjector.InstanceProducer.Lifestyle">
      <summary>
            Gets the <see cref="P:SimpleInjector.InstanceProducer.Lifestyle" /> for this registration. The returned lifestyle can differ from the
            lifestyle that is used during the registration. This can happen for instance when the registration
            is changed by an <see cref="E:SimpleInjector.Container.ExpressionBuilt">ExpressionBuilt</see> registration or
            gets <see cref="T:SimpleInjector.Extensions.DecoratorExtensions">decorated</see>.
            </summary>
      <value>The <see cref="P:SimpleInjector.InstanceProducer.Lifestyle" /> for this registration.</value>
    </member>
    <member name="P:SimpleInjector.InstanceProducer.ServiceType">
      <summary>Gets the service type for which this producer produces instances.</summary>
      <value>A <see cref="T:System.Type" /> instance.</value>
    </member>
    <member name="P:SimpleInjector.InstanceProducer.Registration">
      <summary>
            Gets the <see cref="P:SimpleInjector.InstanceProducer.Registration" /> instance for this instance.
            </summary>
      <value>The <see cref="P:SimpleInjector.InstanceProducer.Registration" />.</value>
    </member>
    <member name="T:SimpleInjector.StringResources">
      <summary>Internal helper for string resources.</summary>
    </member>
    <member name="T:SimpleInjector.UnregisteredTypeEventArgs">
      <summary>
            Provides data for and interaction with the 
            <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event of 
            the <see cref="T:SimpleInjector.Container" />. An observer can check the 
            <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" /> to see whether the unregistered type can be handled. The
            <see cref="M:SimpleInjector.UnregisteredTypeEventArgs.Register(System.Func{System.Object})" /> method can be called to register a <see cref="T:System.Func`1" /> delegate 
            that allows creation of instances of the unregistered for this and future requests.
            </summary>
    </member>
    <member name="M:SimpleInjector.UnregisteredTypeEventArgs.#ctor(System.Type)">
      <summary>Initializes a new instance of the UnregisteredTypeEventArgs class.</summary>
      <param name="unregisteredServiceType">The unregistered service type.</param>
    </member>
    <member name="M:SimpleInjector.UnregisteredTypeEventArgs.Register(System.Func{System.Object})">
      <summary>
            Registers a <see cref="T:System.Func`1" /> delegate that allows creation of instances of the type
            expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" /> for this and future requests. The delegate
            will be caches and future requests will directly call that delegate.
            </summary>
      <param name="instanceCreator">The delegate that allows creation of instances of the type
            expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="instanceCreator" /> is a
            null reference.</exception>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when multiple observers that have registered to
            the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event
            called this method for the same type.</exception>
    </member>
    <member name="M:SimpleInjector.UnregisteredTypeEventArgs.Register(System.Linq.Expressions.Expression)">
      <summary>
            Registers an <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.Expression" /> that describes the creation of instances of the type
            expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" /> for this and future requests. The delegate
            will be cached and future requests will directly use that expression or the compiled delegate.
            </summary>
      <remarks>
            NOTE: If possible, use the <see cref="M:SimpleInjector.UnregisteredTypeEventArgs.Register(SimpleInjector.Registration)">Register(Registration)</see> overload,
            since this allows the analysis services to determine any configuration errors on the lifestyle of
            the registration.
            </remarks>
      <param name="expression">The expression that describes the creation of instances of the type
            expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="expression" /> is a
            null reference.</exception>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when multiple observers that have registered to
            the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event
            called this method for the same type.</exception>
    </member>
    <member name="M:SimpleInjector.UnregisteredTypeEventArgs.Register(SimpleInjector.Registration)">
      <summary>
            Registers a <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.Registration" /> that describes the creation of instances of the type
            expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" /> for this and future requests. The 
            registration will be cached and future requests will directly call unon that registration, the
            expression that it generates or the delegate that gets compiled from that expression.
            </summary>
      <param name="registration">The registration that describes the creation of instances according to
            the registration's lifestyle of the type expressed by the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" />.</param>
      <exception cref="T:System.ArgumentNullException">Thrown when the <paramref name="registration" /> is a
            null reference.</exception>
      <exception cref="T:System.ArgumentException">Thrown when the <paramref name="registration" /> is a
            not exactly of type <see cref="T:System.Func`1" /> where T equals the <see cref="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType" />.
            </exception>
      <exception cref="T:SimpleInjector.ActivationException">Thrown when multiple observers that have registered to
            the <see cref="E:SimpleInjector.Container.ResolveUnregisteredType">ResolveUnregisteredType</see> event
            called this method for the same type.</exception>
    </member>
    <member name="P:SimpleInjector.UnregisteredTypeEventArgs.UnregisteredServiceType">
      <summary>Gets the unregistered service type that is currently requested.</summary>
      <value>The unregistered service type that is currently requested.</value>
    </member>
    <member name="P:SimpleInjector.UnregisteredTypeEventArgs.Handled">
      <summary>
            Gets a value indicating whether the event represented by this instance has been handled. 
            This property will return <b>true</b> when <see cref="M:SimpleInjector.UnregisteredTypeEventArgs.Register(System.Func{System.Object})" /> has been called on
            this instance.
            </summary>
      <value>The indication whether the event has been handled.</value>
    </member>
    <member name="T:System.Reactive.PlatformServices.NamespaceDoc">
      <summary>
            The <b>System.Reactive.PlatformServices</b> namespace contains interfaces and classes used by the runtime infrastructure of Reactive Extensions.
            Those are not intended to be used directly from user code and are subject to change in future releases of the product.
            </summary>
    </member>
    <member name="T:System.ObservableExtensions">
      <summary>
            Provides a set of static methods for subscribing delegates to observables.
            </summary>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0})">
      <summary>
            Subscribes to the observable sequence without specifying any handlers.
            This method can be used to evaluate the observable sequence for its side-effects only.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0})">
      <summary>
            Subscribes an element handler to an observable sequence.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception})">
      <summary>
            Subscribes an element handler and an exception handler to an observable sequence.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action)">
      <summary>
            Subscribes an element handler and a completion handler to an observable sequence.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception},System.Action)">
      <summary>
            Subscribes an element handler, an exception handler, and a completion handler to an observable sequence.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.IObserver{``0},System.Threading.CancellationToken)">
      <summary>
            Subscribes an observer to an observable sequence, using a CancellationToken to support unsubscription.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="observer">Observer to subscribe to the sequence.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Threading.CancellationToken)">
      <summary>
            Subscribes to the observable sequence without specifying any handlers, using a CancellationToken to support unsubscription.
            This method can be used to evaluate the observable sequence for its side-effects only.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Threading.CancellationToken)">
      <summary>
            Subscribes an element handler to an observable sequence, using a CancellationToken to support unsubscription.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception},System.Threading.CancellationToken)">
      <summary>
            Subscribes an element handler and an exception handler to an observable sequence, using a CancellationToken to support unsubscription.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action,System.Threading.CancellationToken)">
      <summary>
            Subscribes an element handler and a completion handler to an observable sequence, using a CancellationToken to support unsubscription.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.Subscribe``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception},System.Action,System.Threading.CancellationToken)">
      <summary>
            Subscribes an element handler, an exception handler, and a completion handler to an observable sequence, using a CancellationToken to support unsubscription.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <param name="token">CancellationToken that can be signaled to unsubscribe from the source sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.ObservableExtensions.SubscribeSafe``1(System.IObservable{``0},System.IObserver{``0})">
      <summary>
            Subscribes to the specified source, re-routing synchronous exceptions during invocation of the Subscribe method to the observer's OnError channel.
            This method is typically used when writing query operators.
            </summary>
      <typeparam name="T">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to subscribe to.</param>
      <param name="observer">Observer that will be passed to the observable sequence, and that will be used for exception propagation.</param>
      <returns>IDisposable object used to unsubscribe from the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="observer" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Observer">
      <summary>
            Provides a set of static methods for creating observers.
            </summary>
    </member>
    <member name="M:System.Reactive.Observer.ToObserver``1(System.Action{System.Reactive.Notification{``0}})">
      <summary>
            Creates an observer from a notification callback.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="handler">Action that handles a notification.</param>
      <returns>The observer object that invokes the specified handler using a notification corresponding to each message it receives.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="handler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.ToNotifier``1(System.IObserver{``0})">
      <summary>
            Creates a notification callback from an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="observer">Observer object.</param>
      <returns>The action that forwards its input notification to the underlying observer.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Create``1(System.Action{``0})">
      <summary>
            Creates an observer from the specified OnNext action.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <returns>The observer object implemented using the given actions.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Create``1(System.Action{``0},System.Action{System.Exception})">
      <summary>
            Creates an observer from the specified OnNext and OnError actions.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onError">Observer's OnError action implementation.</param>
      <returns>The observer object implemented using the given actions.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onError" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Create``1(System.Action{``0},System.Action)">
      <summary>
            Creates an observer from the specified OnNext and OnCompleted actions.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onCompleted">Observer's OnCompleted action implementation.</param>
      <returns>The observer object implemented using the given actions.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Create``1(System.Action{``0},System.Action{System.Exception},System.Action)">
      <summary>
            Creates an observer from the specified OnNext, OnError, and OnCompleted actions.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onError">Observer's OnError action implementation.</param>
      <param name="onCompleted">Observer's OnCompleted action implementation.</param>
      <returns>The observer object implemented using the given actions.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.AsObserver``1(System.IObserver{``0})">
      <summary>
            Hides the identity of an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">An observer whose identity to hide.</param>
      <returns>An observer that hides the identity of the specified observer.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Checked``1(System.IObserver{``0})">
      <summary>
            Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods.
            If a violation is detected, an InvalidOperationException is thrown from the offending observer method call.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer whose callback invocations should be checked for grammar violations.</param>
      <returns>An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0})">
      <summary>
            Synchronizes access to the observer such that its callback methods cannot be called concurrently from multiple threads. This overload is useful when coordinating access to an observer.
            Notice reentrant observer callbacks on the same thread are still possible.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer whose callbacks should be synchronized.</param>
      <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
      <remarks>
            Because a <see cref="T:System.Threading.Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
            Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
            well, use the <see cref="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0},System.Boolean)" /> overload, passing true for the second parameter.
            </remarks>
    </member>
    <member name="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0},System.Boolean)">
      <summary>
            Synchronizes access to the observer such that its callback methods cannot be called concurrently. This overload is useful when coordinating access to an observer.
            The <paramref name="preventReentrancy" /> parameter configures the type of lock used for synchronization.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer whose callbacks should be synchronized.</param>
      <param name="preventReentrancy">If set to true, reentrant observer callbacks will be queued up and get delivered to the observer in a sequential manner.</param>
      <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
      <remarks>
            When the <paramref name="preventReentrancy" /> parameter is set to false, behavior is identical to the <see cref="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0})" /> overload which uses
            a <see cref="T:System.Threading.Monitor">Monitor</see> for synchronization. When the <paramref name="preventReentrancy" /> parameter is set to true, an <see cref="T:System.Reactive.Concurrency.AsyncLock" />
            is used to queue up callbacks to the specified observer if a reentrant call is made.
            </remarks>
    </member>
    <member name="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0},System.Object)">
      <summary>
            Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a <see cref="T:System.Threading.Monitor">Monitor</see>-based lock.
            This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object.
            Notice reentrant observer callbacks on the same thread are still possible.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer whose callbacks should be synchronized.</param>
      <param name="gate">Gate object to synchronize each observer call on.</param>
      <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> or <paramref name="gate" /> is null.</exception>
      <remarks>
            Because a <see cref="T:System.Threading.Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
            Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
            well, use the <see cref="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0},System.Reactive.Concurrency.AsyncLock)" /> overload.
            </remarks>
    </member>
    <member name="M:System.Reactive.Observer.Synchronize``1(System.IObserver{``0},System.Reactive.Concurrency.AsyncLock)">
      <summary>
            Synchronizes access to the observer such that its callback methods cannot be called concurrently, using the specified asynchronous lock to protect against concurrent and reentrant access.
            This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common asynchronous lock.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer whose callbacks should be synchronized.</param>
      <param name="asyncLock">Gate object to synchronize each observer call on.</param>
      <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> or <paramref name="asyncLock" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.NotifyOn``1(System.IObserver{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Schedules the invocation of observer methods on the given scheduler.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer to schedule messages for.</param>
      <param name="scheduler">Scheduler to schedule observer messages on.</param>
      <returns>Observer whose messages are scheduled on the given scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Observer.NotifyOn``1(System.IObserver{``0},System.Threading.SynchronizationContext)">
      <summary>
            Schedules the invocation of observer methods on the given synchonization context.
            </summary>
      <typeparam name="T">The type of the elements received by the source observer.</typeparam>
      <param name="observer">The observer to schedule messages for.</param>
      <param name="context">Synchonization context to schedule observer messages on.</param>
      <returns>Observer whose messages are scheduled on the given synchonization context.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> or <paramref name="context" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.ObservableBase`1">
      <summary>
            Abstract base class for implementations of the IObservable&lt;T&gt; interface.
            </summary>
      <remarks>
            If you don't need a named type to create an observable sequence (i.e. you rather need
            an instance rather than a reusable type), use the Observable.Create method to create
            an observable sequence with specified subscription behavior.
            </remarks>
      <typeparam name="T">The type of the elements in the sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.ObservableBase`1.Subscribe(System.IObserver{`0})">
      <summary>
            Subscribes the given observer to the observable sequence.
            </summary>
      <param name="observer">Observer that will receive notifications from the observable sequence.</param>
      <returns>Disposable object representing an observer's subscription to the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.ObservableBase`1.SubscribeCore(System.IObserver{`0})">
      <summary>
            Implement this method with the core subscription logic for the observable sequence.
            </summary>
      <param name="observer">Observer to send notifications to.</param>
      <returns>Disposable object representing an observer's subscription to the observable sequence.</returns>
    </member>
    <member name="T:System.Reactive.AnonymousObservable`1">
      <summary>
            Class to create an IObservable&lt;T&gt; instance from a delegate-based implementation of the Subscribe method.
            </summary>
      <typeparam name="T">The type of the elements in the sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.AnonymousObservable`1.#ctor(System.Func{System.IObserver{`0},System.IDisposable})">
      <summary>
            Creates an observable sequence object from the specified subscription function.
            </summary>
      <param name="subscribe">Subscribe method implementation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribe" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.AnonymousObservable`1.SubscribeCore(System.IObserver{`0})">
      <summary>
            Calls the subscription function that was supplied to the constructor.
            </summary>
      <param name="observer">Observer to send notifications to.</param>
      <returns>Disposable object representing an observer's subscription to the observable sequence.</returns>
    </member>
    <member name="T:System.Reactive.ObserverBase`1">
      <summary>
            Abstract base class for implementations of the IObserver&lt;T&gt; interface.
            </summary>
      <remarks>This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages.</remarks>
      <typeparam name="T">The type of the elements in the sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.#ctor">
      <summary>
            Creates a new observer in a non-stopped state.
            </summary>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnNext(`0)">
      <summary>
            Notifies the observer of a new element in the sequence.
            </summary>
      <param name="value">Next element in the sequence.</param>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnNextCore(`0)">
      <summary>
            Implement this method to react to the receival of a new element in the sequence.
            </summary>
      <param name="value">Next element in the sequence.</param>
      <remarks>This method only gets called when the observer hasn't stopped yet.</remarks>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnError(System.Exception)">
      <summary>
            Notifies the observer that an exception has occurred.
            </summary>
      <param name="error">The error that has occurred.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnErrorCore(System.Exception)">
      <summary>
            Implement this method to react to the occurrence of an exception.
            </summary>
      <param name="error">The error that has occurred.</param>
      <remarks>This method only gets called when the observer hasn't stopped yet, and causes the observer to stop.</remarks>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnCompleted">
      <summary>
            Notifies the observer of the end of the sequence.
            </summary>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.OnCompletedCore">
      <summary>
            Implement this method to react to the end of the sequence.
            </summary>
      <remarks>This method only gets called when the observer hasn't stopped yet, and causes the observer to stop.</remarks>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.Dispose">
      <summary>
            Disposes the observer, causing it to transition to the stopped state.
            </summary>
    </member>
    <member name="M:System.Reactive.ObserverBase`1.Dispose(System.Boolean)">
      <summary>
            Core implementation of IDisposable.
            </summary>
      <param name="disposing">true if the Dispose call was triggered by the IDisposable.Dispose method; false if it was triggered by the finalizer.</param>
    </member>
    <member name="T:System.Reactive.AnonymousObserver`1">
      <summary>
            Class to create an IObserver&lt;T&gt; instance from delegate-based implementations of the On* methods.
            </summary>
      <typeparam name="T">The type of the elements in the sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.#ctor(System.Action{`0},System.Action{System.Exception},System.Action)">
      <summary>
            Creates an observer from the specified OnNext, OnError, and OnCompleted actions.
            </summary>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onError">Observer's OnError action implementation.</param>
      <param name="onCompleted">Observer's OnCompleted action implementation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.#ctor(System.Action{`0})">
      <summary>
            Creates an observer from the specified OnNext action.
            </summary>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.#ctor(System.Action{`0},System.Action{System.Exception})">
      <summary>
            Creates an observer from the specified OnNext and OnError actions.
            </summary>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onError">Observer's OnError action implementation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onError" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.#ctor(System.Action{`0},System.Action)">
      <summary>
            Creates an observer from the specified OnNext and OnCompleted actions.
            </summary>
      <param name="onNext">Observer's OnNext action implementation.</param>
      <param name="onCompleted">Observer's OnCompleted action implementation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="onNext" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.OnNextCore(`0)">
      <summary>
            Calls the onNext action.
            </summary>
      <param name="value">Next element in the sequence.</param>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.OnErrorCore(System.Exception)">
      <summary>
            Calls the onError action.
            </summary>
      <param name="error">The error that has occurred.</param>
    </member>
    <member name="M:System.Reactive.AnonymousObserver`1.OnCompletedCore">
      <summary>
            Calls the onCompleted action.
            </summary>
    </member>
    <member name="T:System.Reactive.AnonymousSafeObserver`1">
      <summary>
            This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer
            needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its
            input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods
            that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which
            helps debugging and some performance.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.AsyncLock">
      <summary>
            Asynchronous lock.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.AsyncLock.Wait(System.Action)">
      <summary>
            Queues the action for execution. If the caller acquires the lock and becomes the owner,
            the queue is processed. If the lock is already owned, the action is queued and will get
            processed by the owner.
            </summary>
      <param name="action">Action to queue for execution.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.AsyncLock.Dispose">
      <summary>
            Clears the work items in the queue and drops further work being queued.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ConcurrencyAbstractionLayer">
      <summary>
            (Infrastructure) Concurrency abstraction layer.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.ConcurrencyAbstractionLayer.Current">
      <summary>
            Gets the current CAL. If no CAL has been set yet, it will be initialized to the default.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.IConcurrencyAbstractionLayer">
      <summary>
            (Infrastructure) Concurrency abstraction layer interface.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.StartTimer(System.Action{System.Object},System.Object,System.TimeSpan)">
      <summary>
            Queues a method for execution at the specified relative time.
            </summary>
      <param name="action">Method to execute.</param>
      <param name="state">State to pass to the method.</param>
      <param name="dueTime">Time to execute the method on.</param>
      <returns>Disposable object that can be used to stop the timer.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.StartPeriodicTimer(System.Action,System.TimeSpan)">
      <summary>
            Queues a method for periodic execution based on the specified period.
            </summary>
      <param name="action">Method to execute; should be safe for reentrancy.</param>
      <param name="period">Period for running the method periodically.</param>
      <returns>Disposable object that can be used to stop the timer.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.QueueUserWorkItem(System.Action{System.Object},System.Object)">
      <summary>
            Queues a method for execution.
            </summary>
      <param name="action">Method to execute.</param>
      <param name="state">State to pass to the method.</param>
      <returns>Disposable object that can be used to cancel the queued method.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.Sleep(System.TimeSpan)">
      <summary>
            Blocking sleep operation.
            </summary>
      <param name="timeout">Time to sleep.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.StartStopwatch">
      <summary>
            Starts a new stopwatch object.
            </summary>
      <returns>New stopwatch object; started at the time of the request.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.StartThread(System.Action{System.Object},System.Object)">
      <summary>
            Starts a new long-running thread.
            </summary>
      <param name="action">Method to execute.</param>
      <param name="state">State to pass to the method.</param>
    </member>
    <member name="P:System.Reactive.Concurrency.IConcurrencyAbstractionLayer.SupportsLongRunning">
      <summary>
            Gets whether long-running scheduling is supported.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.Scheduler">
      <summary>
            Provides a set of static properties to access commonly used schedulers.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.DisableOptimizations(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a scheduler that represents the original scheduler, without any of its interface-based optimizations (e.g. long running scheduling).
            </summary>
      <param name="scheduler">Scheduler to disable all optimizations for.</param>
      <returns>Proxy to the original scheduler but without any optimizations enabled.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.DisableOptimizations(System.Reactive.Concurrency.IScheduler,System.Type[])">
      <summary>
            Returns a scheduler that represents the original scheduler, without the specified set of interface-based optimizations (e.g. long running scheduling).
            </summary>
      <param name="scheduler">Scheduler to disable the specified optimizations for.</param>
      <param name="optimizationInterfaces">Types of the optimization interfaces that have to be disabled.</param>
      <returns>Proxy to the original scheduler but without the specified optimizations enabled.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="optimizationInterfaces" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Catch``1(System.Reactive.Concurrency.IScheduler,System.Func{``0,System.Boolean})">
      <summary>
            Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions.
            </summary>
      <typeparam name="TException">Type of the exception to check for.</typeparam>
      <param name="scheduler">Scheduler to apply an exception filter for.</param>
      <param name="handler">Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false.</param>
      <returns>Wrapper around the original scheduler, enforcing exception handling.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="handler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.SchedulePeriodic``1(System.Reactive.Concurrency.IScheduler,``0,System.TimeSpan,System.Func{``0,``0})">
      <summary>
            Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities.
            If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation.
            If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage.
            Otherwise, the periodic task will be emulated using recursive scheduling.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="scheduler">The scheduler to run periodic work on.</param>
      <param name="state">Initial state passed to the action upon the first iteration.</param>
      <param name="period">Period for running the work periodically.</param>
      <param name="action">Action to be executed, potentially updating the state.</param>
      <returns>The disposable object used to cancel the scheduled recurring action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.SchedulePeriodic``1(System.Reactive.Concurrency.IScheduler,``0,System.TimeSpan,System.Action{``0})">
      <summary>
            Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities.
            If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation.
            If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage.
            Otherwise, the periodic task will be emulated using recursive scheduling.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="state">State passed to the action to be executed.</param>
      <param name="period">Period for running the work periodically.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled recurring action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.SchedulePeriodic(System.Reactive.Concurrency.IScheduler,System.TimeSpan,System.Action)">
      <summary>
            Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities.
            If the scheduler supports periodic scheduling, the request will be forwarded to the periodic scheduling implementation.
            If the scheduler provides stopwatch functionality, the periodic task will be emulated using recursive scheduling with a stopwatch to correct for time slippage.
            Otherwise, the periodic task will be emulated using recursive scheduling.
            </summary>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="period">Period for running the work periodically.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled recurring action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.StartStopwatch(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Starts a new stopwatch object by dynamically discovering the scheduler's capabilities.
            If the scheduler provides stopwatch functionality, the request will be forwarded to the stopwatch provider implementation.
            Otherwise, the stopwatch will be emulated using the scheduler's notion of absolute time.
            </summary>
      <param name="scheduler">Scheduler to obtain a stopwatch for.</param>
      <returns>New stopwatch object; started at the time of the request.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
      <remarks>The resulting stopwatch object can have non-monotonic behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.AsLongRunning(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns the ISchedulerLongRunning implementation of the specified scheduler, or null if no such implementation is available.
            </summary>
      <param name="scheduler">Scheduler to get the ISchedulerLongRunning implementation for.</param>
      <returns>The scheduler's ISchedulerLongRunning implementation if available; null otherwise.</returns>
      <remarks>
            This helper method is made available for query operator authors in order to discover scheduler services by using the required
            IServiceProvider pattern, which allows for interception or redefinition of scheduler services.
            </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.AsStopwatchProvider(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available.
            </summary>
      <param name="scheduler">Scheduler to get the IStopwatchProvider implementation for.</param>
      <returns>The scheduler's IStopwatchProvider implementation if available; null otherwise.</returns>
      <remarks>
        <para>
            This helper method is made available for query operator authors in order to discover scheduler services by using the required
            IServiceProvider pattern, which allows for interception or redefinition of scheduler services.
            </para>
        <para>
            Consider using <see cref="M:System.Reactive.Concurrency.Scheduler.StartStopwatch(System.Reactive.Concurrency.IScheduler)" /> in case a stopwatch is required, but use of emulation stopwatch based
            on the scheduler's clock is acceptable. Use of this method is recommended for best-effort use of the stopwatch provider
            scheduler service, where the caller falls back to not using stopwatches if this facility wasn't found.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.AsPeriodic(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns the IStopwatchProvider implementation of the specified scheduler, or null if no such implementation is available.
            </summary>
      <param name="scheduler">Scheduler to get the IStopwatchProvider implementation for.</param>
      <returns>The scheduler's IStopwatchProvider implementation if available; null otherwise.</returns>
      <remarks>
        <para>
            This helper method is made available for query operator authors in order to discover scheduler services by using the required
            IServiceProvider pattern, which allows for interception or redefinition of scheduler services.
            </para>
        <para>
            Consider using the Scheduler.SchedulePeriodic extension methods for IScheduler in case periodic scheduling is required and
            emulation of periodic behavior using other scheduler services is desirable. Use of this method is recommended for best-effort
            use of the periodic scheduling service, where the caller falls back to not using periodic scheduling if this facility wasn't
            found.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Normalize(System.TimeSpan)">
      <summary>
            Normalizes the specified TimeSpan value to a positive value.
            </summary>
      <param name="timeSpan">The TimeSpan value to normalize.</param>
      <returns>The specified TimeSpan value if it is zero or positive; otherwise, TimeSpan.Zero.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.Action{System.Action})">
      <summary>
            Schedules an action to be executed recursively.
            </summary>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="action">Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule``1(System.Reactive.Concurrency.IScheduler,``0,System.Action{``0,System.Action{``0}})">
      <summary>
            Schedules an action to be executed recursively.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.TimeSpan,System.Action{System.Action{System.TimeSpan}})">
      <summary>
            Schedules an action to be executed recursively after a specified relative due time.
            </summary>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="action">Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time.</param>
      <param name="dueTime">Relative time after which to execute the action for the first time.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule``1(System.Reactive.Concurrency.IScheduler,``0,System.TimeSpan,System.Action{``0,System.Action{``0,System.TimeSpan}})">
      <summary>
            Schedules an action to be executed recursively after a specified relative due time.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.</param>
      <param name="dueTime">Relative time after which to execute the action for the first time.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.DateTimeOffset,System.Action{System.Action{System.DateTimeOffset}})">
      <summary>
            Schedules an action to be executed recursively at a specified absolute due time.
            </summary>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="action">Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time.</param>
      <param name="dueTime">Absolute time at which to execute the action for the first time.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule``1(System.Reactive.Concurrency.IScheduler,``0,System.DateTimeOffset,System.Action{``0,System.Action{``0,System.DateTimeOffset}})">
      <summary>
            Schedules an action to be executed recursively at a specified absolute due time.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="scheduler">Scheduler to execute the recursive action on.</param>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.</param>
      <param name="dueTime">Absolute time at which to execute the action for the first time.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.Action)">
      <summary>
            Schedules an action to be executed.
            </summary>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="action">Action to execute.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.TimeSpan,System.Action)">
      <summary>
            Schedules an action to be executed after the specified relative due time.
            </summary>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="action">Action to execute.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.Schedule(System.Reactive.Concurrency.IScheduler,System.DateTimeOffset,System.Action)">
      <summary>
            Schedules an action to be executed at the specified absolute due time.
            </summary>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="action">Action to execute.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Scheduler.ScheduleLongRunning(System.Reactive.Concurrency.ISchedulerLongRunning,System.Action{System.Reactive.Disposables.ICancelable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="action">Action to execute.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.Now">
      <summary>
            Gets the current time according to the local machine's system clock.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.Immediate">
      <summary>
            Gets a scheduler that schedules work immediately on the current thread.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.CurrentThread">
      <summary>
            Gets a scheduler that schedules work as soon as possible on the current thread.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.Default">
      <summary>
            Gets a scheduler that schedules work on the platform's default scheduler.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.ThreadPool">
      <summary>
            Gets a scheduler that schedules work on the thread pool.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.NewThread">
      <summary>
            Gets a scheduler that schedules work on a new thread using default thread creation options.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.Scheduler.TaskPool">
      <summary>
            Gets a scheduler that schedules work on Task Parallel Library (TPL) task pool using the default TaskScheduler.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.LocalScheduler">
      <summary>
            Abstract base class for machine-local schedulers, using the local system clock for time-based operations.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.LocalScheduler.WorkItem">
      <summary>
            Represents a work item in the absolute time scheduler.
            </summary>
      <remarks>
            This type is very similar to ScheduledItem, but we need a different Invoke signature to allow customization
            of the target scheduler (e.g. when called in a recursive scheduling context, see ExecuteNextShortTermWorkItem).
            </remarks>
    </member>
    <member name="T:System.Reactive.Concurrency.LocalScheduler.WorkItem`1">
      <summary>
            Represents a work item that closes over scheduler invocation state. Subtyping is
            used to have a common type for the scheduler queues.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.MAXERRORRATIO">
      <summary>
            Maximum error ratio for timer drift. We've seen machines with 10s drift on a
            daily basis, which is in the order 10E-4, so we allow for extra margin here.
            This value is used to calculate early arrival for the long term queue timer
            that will reevaluate work for the short term queue.
            
            Example:  -------------------------------...---------------------*-----$
                                                                             ^     ^
                                                                             |     |
                                                                           early  due
                                                                           0.999  1.0
                                                                           
            We also make the gap between early and due at least LONGTOSHORT so we have
            enough time to transition work to short term and as a courtesy to the
            destination scheduler to manage its queues etc.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_gate">
      <summary>
            Gate to protect queues and to synchronize scheduling decisions and system clock
            change management.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_longTerm">
      <summary>
            Long term work queue. Contains work that's due beyond SHORTTERM, computed at the
            time of enqueueing.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_nextLongTermTimer">
      <summary>
            Disposable resource for the long term timer that will reevaluate and dispatch the
            first item in the long term queue. A serial disposable is used to make "dispose
            current and assign new" logic easier. The disposable itself is never disposed.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_nextLongTermWorkItem">
      <summary>
            Item at the head of the long term queue for which the current long term timer is
            running. Used to detect changes in the queue and decide whether we should replace
            or can continue using the current timer (because no earlier long term work was
            added to the queue).
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_shortTerm">
      <summary>
            Short term work queue. Contains work that's due soon, computed at the time of
            enqueueing or upon reevaluation of the long term queue causing migration of work
            items. This queue is kept in order to be able to relocate short term items back
            to the long term queue in case a system clock change occurs.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.s_shortTermWork">
      <summary>
            Set of disposable handles to all of the current short term work Schedule calls,
            allowing those to be cancelled upon a system clock change.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.SHORTTERM">
      <summary>
            Threshold where an item is considered to be short term work or gets moved from
            long term to short term.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.LONGTOSHORT">
      <summary>
            Minimum threshold for the long term timer to fire before the queue is reevaluated
            for short term work. This value is chosen to be less than SHORTTERM in order to
            ensure the timer fires and has work to transition to the short term queue.
            </summary>
    </member>
    <member name="F:System.Reactive.Concurrency.LocalScheduler.RETRYSHORT">
      <summary>
            Threshold used to determine when a short term timer has fired too early compared
            to the absolute due time. This provides a last chance protection against early
            completion of scheduled work, which can happen in case of time adjustment in the
            operating system (cf. GetSystemTimeAdjustment).
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.Enqueue``1(System.Reactive.Concurrency.IScheduler,``0,System.DateTimeOffset,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Enqueues absolute time scheduled work in the timer queue or the short term work list.
            </summary>
      <param name="scheduler">Scheduler to run the work on. Typically "this" from the caller's perspective (LocalScheduler.Schedule), but parameter kept because we have a single (static) timer queue across all of Rx local schedulers.</param>
      <param name="state">State to pass to the action.</param>
      <param name="dueTime">Absolute time to run the work on. The timer queue is responsible to execute the work close to the specified time, also accounting for system clock changes.</param>
      <param name="action">Action to run, potentially recursing into the scheduler.</param>
      <returns>Disposable object to prevent the work from running.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.ScheduleShortTermWork(System.Reactive.Concurrency.LocalScheduler.WorkItem)">
      <summary>
            Schedule work that's due in the short term. This leads to relative scheduling calls to the
            underlying scheduler for short TimeSpan values. If the system clock changes in the meantime,
            the short term work is attempted to be cancelled and reevaluated.
            </summary>
      <param name="item">Work item to schedule in the short term. The caller is responsible to determine the work is indeed short term.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.ExecuteNextShortTermWorkItem(System.Reactive.Concurrency.IScheduler,System.IDisposable)">
      <summary>
            Callback to process the next short term work item.
            </summary>
      <param name="scheduler">Recursive scheduler supplied by the underlying scheduler.</param>
      <param name="cancel">Disposable used to identify the work the timer was triggered for (see code for usage).</param>
      <returns>Empty disposable. Recursive work cancellation is wired through the original WorkItem.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.ScheduleLongTermWork(System.Reactive.Concurrency.LocalScheduler.WorkItem)">
      <summary>
            Schedule work that's due on the long term. This leads to the work being queued up for
            eventual transitioning to the short term work list.
            </summary>
      <param name="item">Work item to schedule on the long term. The caller is responsible to determine the work is indeed long term.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.UpdateLongTermProcessingTimer">
      <summary>
            Updates the long term timer which is responsible to transition work from the head of the
            long term queue to the short term work list.
            </summary>
      <remarks>Should be called under the scheduler lock.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.EvaluateLongTermQueue(System.Object)">
      <summary>
            Evaluates the long term queue, transitioning short term work to the short term list,
            and adjusting the new long term processing timer accordingly.
            </summary>
      <param name="state">Ignored.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.SystemClockChanged(System.Object,System.Reactive.PlatformServices.SystemClockChangedEventArgs)">
      <summary>
            Callback invoked when a system clock change is observed in order to adjust and reevaluate
            the internal scheduling queues.
            </summary>
      <param name="args">Currently not used.</param>
      <param name="sender">Currently not used.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.Schedule``1(``0,System.DateTimeOffset,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.StartStopwatch">
      <summary>
            Starts a new stopwatch object.
            </summary>
      <returns>New stopwatch object; started at the time of the request.</returns>
      <remarks>
            Platform-specific scheduler implementations should reimplement IStopwatchProvider to provide a more
            efficient IStopwatch implementation (if available).
            </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.LocalScheduler.GetService(System.Type)">
      <summary>
            Discovers scheduler services by interface type. The base class implementation returns
            requested services for each scheduler interface implemented by the derived class. For
            more control over service discovery, derived types can override this method.
            </summary>
      <param name="serviceType">Scheduler service interface type to discover.</param>
      <returns>Object implementing the requested service, if available; null otherwise.</returns>
    </member>
    <member name="P:System.Reactive.Concurrency.LocalScheduler.Now">
      <summary>
            Gets the scheduler's notion of current time.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.CurrentThreadScheduler">
      <summary>
            Represents an object that schedules units of work on the current thread.
            </summary>
      <seealso cref="P:System.Reactive.Concurrency.Scheduler.CurrentThread">Singleton instance of this type exposed through this static property.</seealso>
    </member>
    <member name="M:System.Reactive.Concurrency.CurrentThreadScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="P:System.Reactive.Concurrency.CurrentThreadScheduler.Instance">
      <summary>
            Gets the singleton instance of the current thread scheduler.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.CurrentThreadScheduler.ScheduleRequired">
      <summary>
            Gets a value that indicates whether the caller must call a Schedule method.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.CurrentThreadScheduler.IsScheduleRequired">
      <summary>
            Gets a value that indicates whether the caller must call a Schedule method.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ImmediateScheduler">
      <summary>
            Represents an object that schedules units of work to run immediately on the current thread.
            </summary>
      <seealso cref="P:System.Reactive.Concurrency.Scheduler.Immediate">Singleton instance of this type exposed through this static property.</seealso>
    </member>
    <member name="M:System.Reactive.Concurrency.ImmediateScheduler.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.ImmediateScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="P:System.Reactive.Concurrency.ImmediateScheduler.Instance">
      <summary>
            Gets the singleton instance of the immediate scheduler.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ScheduledItem`1">
      <summary>
            Abstract base class for scheduled work items.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.#ctor(`0,System.Collections.Generic.IComparer{`0})">
      <summary>
            Creates a new scheduled work item to run at the specified time.
            </summary>
      <param name="dueTime">Absolute time at which the work item has to be executed.</param>
      <param name="comparer">Comparer used to compare work items based on their scheduled time.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.Invoke">
      <summary>
            Invokes the work item.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.InvokeCore">
      <summary>
            Implement this method to perform the work item invocation, returning a disposable object for deep cancellation.
            </summary>
      <returns>Disposable object used to cancel the work item and/or derived work items.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.CompareTo(System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Compares the work item with another work item based on absolute time values.
            </summary>
      <param name="other">Work item to compare the current work item to.</param>
      <returns>Relative ordering between this and the specified work item.</returns>
      <remarks>The inequality operators are overloaded to provide results consistent with the IComparable implementation. Equality operators implement traditional reference equality semantics.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_LessThan(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether one specified ScheduledItem&lt;TAbsolute&gt; object is due before a second specified ScheduledItem&lt;TAbsolute&gt; object.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if the DueTime value of left is earlier than the DueTime value of right; otherwise, false.</returns>
      <remarks>This operator provides results consistent with the IComparable implementation.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_LessThanOrEqual(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether one specified ScheduledItem&lt;TAbsolute&gt; object is due before or at the same of a second specified ScheduledItem&lt;TAbsolute&gt; object.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if the DueTime value of left is earlier than or simultaneous with the DueTime value of right; otherwise, false.</returns>
      <remarks>This operator provides results consistent with the IComparable implementation.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_GreaterThan(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether one specified ScheduledItem&lt;TAbsolute&gt; object is due after a second specified ScheduledItem&lt;TAbsolute&gt; object.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if the DueTime value of left is later than the DueTime value of right; otherwise, false.</returns>
      <remarks>This operator provides results consistent with the IComparable implementation.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_GreaterThanOrEqual(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether one specified ScheduledItem&lt;TAbsolute&gt; object is due after or at the same time of a second specified ScheduledItem&lt;TAbsolute&gt; object.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if the DueTime value of left is later than or simultaneous with the DueTime value of right; otherwise, false.</returns>
      <remarks>This operator provides results consistent with the IComparable implementation.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_Equality(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether two specified ScheduledItem&lt;TAbsolute, TValue&gt; objects are equal.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if both ScheduledItem&lt;TAbsolute, TValue&gt; are equal; otherwise, false.</returns>
      <remarks>This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.op_Inequality(System.Reactive.Concurrency.ScheduledItem{`0},System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Determines whether two specified ScheduledItem&lt;TAbsolute, TValue&gt; objects are inequal.
            </summary>
      <param name="left">The first object to compare.</param>
      <param name="right">The second object to compare.</param>
      <returns>true if both ScheduledItem&lt;TAbsolute, TValue&gt; are inequal; otherwise, false.</returns>
      <remarks>This operator does not provide results consistent with the IComparable implementation. Instead, it implements reference equality.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.Equals(System.Object)">
      <summary>
            Determines whether a ScheduledItem&lt;TAbsolute&gt; object is equal to the specified object.
            </summary>
      <param name="obj">The object to compare to the current ScheduledItem&lt;TAbsolute&gt; object.</param>
      <returns>true if the obj parameter is a ScheduledItem&lt;TAbsolute&gt; object and is equal to the current ScheduledItem&lt;TAbsolute&gt; object; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.GetHashCode">
      <summary>
            Returns the hash code for the current ScheduledItem&lt;TAbsolute&gt; object.
            </summary>
      <returns>A 32-bit signed integer hash code.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`1.Cancel">
      <summary>
            Cancels the work item by disposing the resource returned by InvokeCore as soon as possible.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.ScheduledItem`1.DueTime">
      <summary>
            Gets the absolute time at which the item is due for invocation.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.ScheduledItem`1.IsCanceled">
      <summary>
            Gets whether the work item has received a cancellation request.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ScheduledItem`2">
      <summary>
            Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <typeparam name="TValue">Type of the state passed to the scheduled action.</typeparam>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`2.#ctor(System.Reactive.Concurrency.IScheduler,`1,System.Func{System.Reactive.Concurrency.IScheduler,`1,System.IDisposable},`0,System.Collections.Generic.IComparer{`0})">
      <summary>
            Creates a materialized work item.
            </summary>
      <param name="scheduler">Recursive scheduler to invoke the scheduled action with.</param>
      <param name="state">State to pass to the scheduled action.</param>
      <param name="action">Scheduled action.</param>
      <param name="dueTime">Time at which to run the scheduled action.</param>
      <param name="comparer">Comparer used to compare work items based on their scheduled time.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`2.#ctor(System.Reactive.Concurrency.IScheduler,`1,System.Func{System.Reactive.Concurrency.IScheduler,`1,System.IDisposable},`0)">
      <summary>
            Creates a materialized work item.
            </summary>
      <param name="scheduler">Recursive scheduler to invoke the scheduled action with.</param>
      <param name="state">State to pass to the scheduled action.</param>
      <param name="action">Scheduled action.</param>
      <param name="dueTime">Time at which to run the scheduled action.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.ScheduledItem`2.InvokeCore">
      <summary>
            Invokes the scheduled action with the supplied recursive scheduler and state.
            </summary>
      <returns>Cancellation resource returned by the scheduled action.</returns>
    </member>
    <member name="T:System.Reactive.Concurrency.SchedulerQueue`1">
      <summary>
            Efficient scheduler queue that maintains scheduled items sorted by absolute time.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <remarks>This type is not thread safe; users should ensure proper synchronization.</remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.#ctor">
      <summary>
            Creates a new scheduler queue with a default initial capacity.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.#ctor(System.Int32)">
      <summary>
            Creats a new scheduler queue with the specified initial capacity.
            </summary>
      <param name="capacity">Initial capacity of the scheduler queue.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="capacity" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.Enqueue(System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Enqueues the specified work item to be scheduled.
            </summary>
      <param name="scheduledItem">Work item to be scheduled.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.Remove(System.Reactive.Concurrency.ScheduledItem{`0})">
      <summary>
            Removes the specified work item from the scheduler queue.
            </summary>
      <param name="scheduledItem">Work item to be removed from the scheduler queue.</param>
      <returns>true if the item was found; false otherwise.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.Dequeue">
      <summary>
            Dequeues the next work item from the scheduler queue.
            </summary>
      <returns>Next work item in the scheduler queue (removed).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.SchedulerQueue`1.Peek">
      <summary>
            Peeks the next work item in the scheduler queue.
            </summary>
      <returns>Next work item in the scheduler queue (not removed).</returns>
    </member>
    <member name="P:System.Reactive.Concurrency.SchedulerQueue`1.Count">
      <summary>
            Gets the number of scheduled items in the scheduler queue.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.Synchronization">
      <summary>
            Provides basic synchronization and scheduling services for observable sequences.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.SubscribeOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="scheduler">Scheduler to perform subscription and unsubscription actions on.</param>
      <returns>The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
            Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified scheduler.
            In order to invoke observer callbacks on the specified scheduler, e.g. to offload callback processing to a dedicated thread, use <see cref="M:System.Reactive.Concurrency.Synchronization.ObserveOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.SubscribeOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)">
      <summary>
            Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="context">Synchronization context to perform subscription and unsubscription actions on.</param>
      <returns>The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="context" /> is null.</exception>
      <remarks>
            Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the specified synchronization context.
            In order to invoke observer callbacks on the specified synchronization context, e.g. to post callbacks to a UI thread represented by the synchronization context, use <see cref="M:System.Reactive.Concurrency.Synchronization.ObserveOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.ObserveOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Wraps the source sequence in order to run its observer callbacks on the specified scheduler.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="scheduler">Scheduler to notify observers on.</param>
      <returns>The source sequence whose observations happen on the specified scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.ObserveOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)">
      <summary>
            Wraps the source sequence in order to run its observer callbacks on the specified synchronization context.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="context">Synchronization context to notify observers on.</param>
      <returns>The source sequence whose observations happen on the specified synchronization context.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.Synchronize``1(System.IObservable{``0})">
      <summary>
            Wraps the source sequence in order to ensure observer callbacks are properly serialized.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <returns>The source sequence whose outgoing calls to observers are synchronized.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.Synchronization.Synchronize``1(System.IObservable{``0},System.Object)">
      <summary>
            Wraps the source sequence in order to ensure observer callbacks are synchronized using the specified gate object.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="gate">Gate object to synchronize each observer call on.</param>
      <returns>The source sequence whose outgoing calls to observers are synchronized on the given gate object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="gate" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.IProducer`1">
      <summary>
            Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe.
            </summary>
      <typeparam name="TSource">Type of the resulting sequence's elements.</typeparam>
    </member>
    <member name="T:System.Reactive.Producer`1">
      <summary>
            Base class for implementation of query operators, providing performance benefits over the use of Observable.Create.
            </summary>
      <typeparam name="TSource">Type of the resulting sequence's elements.</typeparam>
    </member>
    <member name="M:System.Reactive.Producer`1.Subscribe(System.IObserver{`0})">
      <summary>
            Publicly visible Subscribe method.
            </summary>
      <param name="observer">Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer.</param>
      <returns>IDisposable to cancel the subscription. This causes the underlying sink to be notified of unsubscription, causing it to prevent further messages from being sent to the observer.</returns>
    </member>
    <member name="M:System.Reactive.Producer`1.Run(System.IObserver{`0},System.IDisposable,System.Action{System.IDisposable})">
      <summary>
            Core implementation of the query operator, called upon a new subscription to the producer object.
            </summary>
      <param name="observer">Observer to send notifications on. The implementation of a producer must ensure the correct message grammar on the observer.</param>
      <param name="cancel">The subscription disposable object returned from the Run call, passed in such that it can be forwarded to the sink, allowing it to dispose the subscription upon sending a final message (or prematurely for other reasons).</param>
      <param name="setSink">Callback to communicate the sink object to the subscriber, allowing consumers to tunnel a Dispose call into the sink, which can stop the processing.</param>
      <returns>Disposable representing all the resources and/or subscriptions the operator uses to process events.</returns>
      <remarks>The <paramref name="observer">observer</paramref> passed in to this method is not protected using auto-detach behavior upon an OnError or OnCompleted call. The implementation must ensure proper resource disposal and enforce the message grammar.</remarks>
    </member>
    <member name="T:System.Reactive.Sink`1">
      <summary>
            Base class for implementation of query operators, providing a lightweight sink that can be disposed to mute the outgoing observer.
            </summary>
      <typeparam name="TSource">Type of the resulting sequence's elements.</typeparam>
      <remarks>Implementations of sinks are responsible to enforce the message grammar on the associated observer. Upon sending a terminal message, a pairing Dispose call should be made to trigger cancellation of related resources and to mute the outgoing observer.</remarks>
    </member>
    <member name="T:System.Reactive.Concurrency.SynchronizationContextScheduler">
      <summary>
            Represents an object that schedules units of work on a provided <seealso cref="T:System.Threading.SynchronizationContext" />.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.SynchronizationContextScheduler.#ctor(System.Threading.SynchronizationContext)">
      <summary>
            Creates an object that schedules units of work on the provided <see cref="T:System.Threading.SynchronizationContext" />.
            </summary>
      <param name="context">Synchronization context to schedule units of work on.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.SynchronizationContextScheduler.#ctor(System.Threading.SynchronizationContext,System.Boolean)">
      <summary>
            Creates an object that schedules units of work on the provided <see cref="T:System.Threading.SynchronizationContext" />.
            </summary>
      <param name="context">Synchronization context to schedule units of work on.</param>
      <param name="alwaysPost">Configures whether scheduling always posts to the synchronization context, regardless whether the caller is on the same synchronization context.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="context" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.SynchronizationContextScheduler.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.SynchronizationContextScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Concurrency.DefaultScheduler">
      <summary>
            Represents an object that schedules units of work on the platform's default scheduler.
            </summary>
      <seealso cref="P:System.Reactive.Concurrency.Scheduler.Default">Singleton instance of this type exposed through this static property.</seealso>
    </member>
    <member name="M:System.Reactive.Concurrency.DefaultScheduler.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.DefaultScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime, using a System.Threading.Timer object.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.DefaultScheduler.SchedulePeriodic``1(``0,System.TimeSpan,System.Func{``0,``0})">
      <summary>
            Schedules a periodic piece of work, using a System.Threading.Timer object.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">Initial state passed to the action upon the first iteration.</param>
      <param name="period">Period for running the work periodically.</param>
      <param name="action">Action to be executed, potentially updating the state.</param>
      <returns>The disposable object used to cancel the scheduled recurring action (best effort).</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.DefaultScheduler.GetService(System.Type)">
      <summary>
            Discovers scheduler services by interface type.
            </summary>
      <param name="serviceType">Scheduler service interface type to discover.</param>
      <returns>Object implementing the requested service, if available; null otherwise.</returns>
    </member>
    <member name="P:System.Reactive.Concurrency.DefaultScheduler.Instance">
      <summary>
            Gets the singleton instance of the default scheduler.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.AnonymousDisposable">
      <summary>
            Represents an Action-based disposable.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.AnonymousDisposable.#ctor(System.Action)">
      <summary>
            Constructs a new disposable with the given action used for disposal.
            </summary>
      <param name="dispose">Disposal action which will be run upon calling Dispose.</param>
    </member>
    <member name="M:System.Reactive.Disposables.AnonymousDisposable.Dispose">
      <summary>
            Calls the disposal action if and only if the current instance hasn't been disposed yet.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.AnonymousDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.BooleanDisposable">
      <summary>
            Represents a disposable resource that can be checked for disposal status.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.BooleanDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.BooleanDisposable" /> class.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.BooleanDisposable.Dispose">
      <summary>
            Sets the status to disposed, which can be observer through the <see cref="P:System.Reactive.Disposables.BooleanDisposable.IsDisposed" /> property.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.BooleanDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.CancellationDisposable">
      <summary>
            Represents a disposable resource that has an associated <seealso cref="T:System.Threading.CancellationToken" /> that will be set to the cancellation requested state upon disposal.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CancellationDisposable.#ctor(System.Threading.CancellationTokenSource)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CancellationDisposable" /> class that uses an existing <seealso cref="T:System.Threading.CancellationTokenSource" />.
            </summary>
      <param name="cts">
        <seealso cref="T:System.Threading.CancellationTokenSource" /> used for cancellation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="cts" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CancellationDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CancellationDisposable" /> class that uses a new <seealso cref="T:System.Threading.CancellationTokenSource" />.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CancellationDisposable.Dispose">
      <summary>
            Cancels the underlying <seealso cref="T:System.Threading.CancellationTokenSource" />.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.CancellationDisposable.Token">
      <summary>
            Gets the <see cref="T:System.Threading.CancellationToken" /> used by this CancellationDisposable.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.CancellationDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.CompositeDisposable">
      <summary>
            Represents a group of disposable resources that are disposed together.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CompositeDisposable" /> class with no disposables contained by it initially.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CompositeDisposable" /> class with the specified number of disposables.
            </summary>
      <param name="capacity">The number of disposables that the new CompositeDisposable can initially store.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="capacity" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.#ctor(System.IDisposable[])">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CompositeDisposable" /> class from a group of disposables.
            </summary>
      <param name="disposables">Disposables that will be disposed together.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="disposables" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.#ctor(System.Collections.Generic.IEnumerable{System.IDisposable})">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.CompositeDisposable" /> class from a group of disposables.
            </summary>
      <param name="disposables">Disposables that will be disposed together.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="disposables" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.Add(System.IDisposable)">
      <summary>
            Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.
            </summary>
      <param name="item">Disposable to add.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="item" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.Remove(System.IDisposable)">
      <summary>
            Removes and disposes the first occurrence of a disposable from the CompositeDisposable.
            </summary>
      <param name="item">Disposable to remove.</param>
      <returns>true if found; false otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="item" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.Dispose">
      <summary>
            Disposes all disposables in the group and removes them from the group.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.Clear">
      <summary>
            Removes and disposes all disposables from the CompositeDisposable, but does not dispose the CompositeDisposable.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.Contains(System.IDisposable)">
      <summary>
            Determines whether the CompositeDisposable contains a specific disposable.
            </summary>
      <param name="item">Disposable to search for.</param>
      <returns>true if the disposable was found; otherwise, false.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="item" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.CopyTo(System.IDisposable[],System.Int32)">
      <summary>
            Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index.
            </summary>
      <param name="array">Array to copy the contained disposables to.</param>
      <param name="arrayIndex">Target index at which to copy the first disposable of the group.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is less than zero. -or - <paramref name="arrayIndex" /> is larger than or equal to the array length.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.CompositeDisposable.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the CompositeDisposable.
            </summary>
      <returns>An enumerator to iterate over the disposables.</returns>
    </member>
    <member name="P:System.Reactive.Disposables.CompositeDisposable.Count">
      <summary>
            Gets the number of disposables contained in the CompositeDisposable.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.CompositeDisposable.IsReadOnly">
      <summary>
            Always returns false.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.CompositeDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.ContextDisposable">
      <summary>
            Represents a disposable resource whose disposal invocation will be posted to the specified <seealso cref="T:System.Threading.SynchronizationContext" />.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.ContextDisposable.#ctor(System.Threading.SynchronizationContext,System.IDisposable)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.ContextDisposable" /> class that uses the specified <see cref="T:System.Threading.SynchronizationContext" /> on which to dispose the specified disposable resource.
            </summary>
      <param name="context">Context to perform disposal on.</param>
      <param name="disposable">Disposable whose Dispose operation to run on the given synchronization context.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="context" /> or <paramref name="disposable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.ContextDisposable.Dispose">
      <summary>
            Disposes the underlying disposable on the provided <see cref="T:System.Threading.SynchronizationContext" />.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ContextDisposable.Context">
      <summary>
            Gets the provided <see cref="T:System.Threading.SynchronizationContext" />.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ContextDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.DefaultDisposable">
      <summary>
            Represents a disposable that does nothing on disposal.
            </summary>
    </member>
    <member name="F:System.Reactive.Disposables.DefaultDisposable.Instance">
      <summary>
            Singleton default disposable.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.DefaultDisposable.Dispose">
      <summary>
            Does nothing.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.Disposable">
      <summary>
            Provides a set of static methods for creating Disposables.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.Disposable.Create(System.Action)">
      <summary>
            Creates a disposable object that invokes the specified action when disposed.
            </summary>
      <param name="dispose">Action to run during the first call to <see cref="M:System.IDisposable.Dispose" />. The action is guaranteed to be run at most once.</param>
      <returns>The disposable object that runs the given action upon disposal.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="dispose" /> is null.</exception>
    </member>
    <member name="P:System.Reactive.Disposables.Disposable.Empty">
      <summary>
            Gets the disposable that does nothing when disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.MultipleAssignmentDisposable">
      <summary>
            Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.MultipleAssignmentDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.MultipleAssignmentDisposable" /> class with no current underlying disposable.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.MultipleAssignmentDisposable.Dispose">
      <summary>
            Disposes the underlying disposable as well as all future replacements.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.MultipleAssignmentDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.MultipleAssignmentDisposable.Disposable">
      <summary>
            Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined.
            </summary>
      <remarks>If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object.</remarks>
    </member>
    <member name="T:System.Reactive.Disposables.RefCountDisposable">
      <summary>
            Represents a disposable resource that only disposes its underlying disposable resource when all <see cref="M:System.Reactive.Disposables.RefCountDisposable.GetDisposable">dependent disposable objects</see> have been disposed.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.RefCountDisposable.#ctor(System.IDisposable)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.RefCountDisposable" /> class with the specified disposable.
            </summary>
      <param name="disposable">Underlying disposable.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="disposable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.RefCountDisposable.GetDisposable">
      <summary>
            Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable.
            </summary>
      <returns>A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime.</returns>
    </member>
    <member name="M:System.Reactive.Disposables.RefCountDisposable.Dispose">
      <summary>
            Disposes the underlying disposable only when all dependent disposables have been disposed.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.RefCountDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.ScheduledDisposable">
      <summary>
            Represents a disposable resource whose disposal invocation will be scheduled on the specified <seealso cref="T:System.Reactive.Concurrency.IScheduler" />.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.ScheduledDisposable.#ctor(System.Reactive.Concurrency.IScheduler,System.IDisposable)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.ScheduledDisposable" /> class that uses an <see cref="T:System.Reactive.Concurrency.IScheduler" /> on which to dispose the disposable.
            </summary>
      <param name="scheduler">Scheduler where the disposable resource will be disposed on.</param>
      <param name="disposable">Disposable resource to dispose on the given scheduler.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="disposable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Disposables.ScheduledDisposable.Dispose">
      <summary>
            Disposes the wrapped disposable on the provided scheduler.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ScheduledDisposable.Scheduler">
      <summary>
            Gets the scheduler where the disposable resource will be disposed on.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ScheduledDisposable.Disposable">
      <summary>
            Gets the underlying disposable. After disposal, the result is undefined.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ScheduledDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.SerialDisposable">
      <summary>
            Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.SerialDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.SerialDisposable" /> class.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.SerialDisposable.Dispose">
      <summary>
            Disposes the underlying disposable as well as all future replacements.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.SerialDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.SerialDisposable.Disposable">
      <summary>
            Gets or sets the underlying disposable.
            </summary>
      <remarks>If the SerialDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object.</remarks>
    </member>
    <member name="T:System.Reactive.Disposables.SingleAssignmentDisposable">
      <summary>
            Represents a disposable resource which only allows a single assignment of its underlying disposable resource.
            If an underlying disposable resource has already been set, future attempts to set the underlying disposable resource will throw an <see cref="T:System.InvalidOperationException" />.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.SingleAssignmentDisposable.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Disposables.SingleAssignmentDisposable" /> class.
            </summary>
    </member>
    <member name="M:System.Reactive.Disposables.SingleAssignmentDisposable.Dispose">
      <summary>
            Disposes the underlying disposable.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.SingleAssignmentDisposable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.SingleAssignmentDisposable.Disposable">
      <summary>
            Gets or sets the underlying disposable. After disposal, the result of getting this property is undefined.
            </summary>
      <exception cref="T:System.InvalidOperationException">Thrown if the SingleAssignmentDisposable has already been assigned to.</exception>
    </member>
    <member name="T:System.Reactive.PlatformServices.IExceptionServices">
      <summary>
            (Infrastructure) Services to rethrow exceptions.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="M:System.Reactive.PlatformServices.IExceptionServices.Rethrow(System.Exception)">
      <summary>
            Rethrows the specified exception.
            </summary>
      <param name="exception">Exception to rethrow.</param>
    </member>
    <member name="T:System.Reactive.PlatformServices.HostLifecycleService">
      <summary>
            (Infrastructure) Provides access to the host's lifecycle management services.
            </summary>
    </member>
    <member name="M:System.Reactive.PlatformServices.HostLifecycleService.AddRef">
      <summary>
            Adds a reference to the host lifecycle manager, causing it to be sending notifications.
            </summary>
    </member>
    <member name="M:System.Reactive.PlatformServices.HostLifecycleService.Release">
      <summary>
            Removes a reference to the host lifecycle manager, causing it to stop sending notifications
            if the removed reference was the last one.
            </summary>
    </member>
    <member name="E:System.Reactive.PlatformServices.HostLifecycleService.Suspending">
      <summary>
            Event that gets raised when the host suspends the application.
            </summary>
    </member>
    <member name="E:System.Reactive.PlatformServices.HostLifecycleService.Resuming">
      <summary>
            Event that gets raised when the host resumes the application.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.IHostLifecycleNotifications">
      <summary>
            (Infrastructure) Provides notifications about the host's lifecycle events.
            </summary>
    </member>
    <member name="E:System.Reactive.PlatformServices.IHostLifecycleNotifications.Suspending">
      <summary>
            Event that gets raised when the host suspends.
            </summary>
    </member>
    <member name="E:System.Reactive.PlatformServices.IHostLifecycleNotifications.Resuming">
      <summary>
            Event that gets raised when the host resumes.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.HostSuspendingEventArgs">
      <summary>
            (Infrastructure) Event arguments for host suspension events.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.HostResumingEventArgs">
      <summary>
            (Infrastructure) Event arguments for host resumption events.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.IPlatformEnlightenmentProvider">
      <summary>
            (Infrastructure) Interface for enlightenment providers.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="M:System.Reactive.PlatformServices.IPlatformEnlightenmentProvider.GetService``1(System.Object[])">
      <summary>
            (Infastructure) Tries to gets the specified service.
            </summary>
      <typeparam name="T">Service type.</typeparam>
      <param name="args">Optional set of arguments.</param>
      <returns>Service instance or null if not found.</returns>
    </member>
    <member name="T:System.Reactive.PlatformServices.PlatformEnlightenmentProvider">
      <summary>
            (Infrastructure) Provider for platform-specific framework enlightenments.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            </remarks>
    </member>
    <member name="P:System.Reactive.PlatformServices.PlatformEnlightenmentProvider.Current">
      <summary>
            (Infrastructure) Gets the current enlightenment provider. If none is loaded yet, accessing this property triggers provider resolution.
            </summary>
      <remarks>
            This member is used by the Rx infrastructure and not meant for public consumption or implementation.
            </remarks>
    </member>
    <member name="T:System.Reactive.PlatformServices.SystemClock">
      <summary>
            (Infrastructure) Provides access to local system clock services.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="M:System.Reactive.PlatformServices.SystemClock.AddRef">
      <summary>
            Adds a reference to the system clock monitor, causing it to be sending notifications.
            </summary>
      <exception cref="T:System.NotSupportedException">Thrown when the system doesn't support sending clock change notifications.</exception>
    </member>
    <member name="M:System.Reactive.PlatformServices.SystemClock.Release">
      <summary>
            Removes a reference to the system clock monitor, causing it to stop sending notifications
            if the removed reference was the last one.
            </summary>
    </member>
    <member name="P:System.Reactive.PlatformServices.SystemClock.UtcNow">
      <summary>
            Gets the local system clock time.
            </summary>
    </member>
    <member name="E:System.Reactive.PlatformServices.SystemClock.SystemClockChanged">
      <summary>
            Event that gets raised when a system clock change is detected, if there's any interest as indicated by AddRef calls.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.ISystemClock">
      <summary>
            (Infrastructure) Provides access to the local system clock.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="P:System.Reactive.PlatformServices.ISystemClock.UtcNow">
      <summary>
            Gets the current time.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.INotifySystemClockChanged">
      <summary>
            (Infrastructure) Provides a mechanism to notify local schedulers about system clock changes.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="E:System.Reactive.PlatformServices.INotifySystemClockChanged.SystemClockChanged">
      <summary>
            Event that gets raised when a system clock change is detected.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.SystemClockChangedEventArgs">
      <summary>
            (Infrastructure) Event arguments for system clock change notifications.
            </summary>
      <remarks>
            This type is used by the Rx infrastructure and not meant for public consumption or implementation.
            No guarantees are made about forward compatibility of the type's functionality and its usage.
            </remarks>
    </member>
    <member name="M:System.Reactive.PlatformServices.SystemClockChangedEventArgs.#ctor">
      <summary>
            Creates a new system clock notification object with unknown old and new times.
            </summary>
    </member>
    <member name="M:System.Reactive.PlatformServices.SystemClockChangedEventArgs.#ctor(System.DateTimeOffset,System.DateTimeOffset)">
      <summary>
            Creates a new system clock notification object with the specified old and new times.
            </summary>
      <param name="oldTime">Time before the system clock changed, or DateTimeOffset.MinValue if not known.</param>
      <param name="newTime">Time after the system clock changed, or DateTimeOffset.MaxValue if not known.</param>
    </member>
    <member name="P:System.Reactive.PlatformServices.SystemClockChangedEventArgs.OldTime">
      <summary>
            Gets the time before the system clock changed, or DateTimeOffset.MinValue if not known.
            </summary>
    </member>
    <member name="P:System.Reactive.PlatformServices.SystemClockChangedEventArgs.NewTime">
      <summary>
            Gets the time after the system clock changed, or DateTimeOffset.MaxValue if not known.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.DefaultSystemClock">
      <summary>
            (Infrastructure) Provides access to the local system clock.
            </summary>
    </member>
    <member name="P:System.Reactive.PlatformServices.DefaultSystemClock.UtcNow">
      <summary>
            Gets the current time.
            </summary>
    </member>
    <member name="T:System.Reactive.PlatformServices.PeriodicTimerSystemClockMonitor">
      <summary>
            (Infrastructure) Monitors for system clock changes based on a periodic timer.
            </summary>
    </member>
    <member name="M:System.Reactive.PlatformServices.PeriodicTimerSystemClockMonitor.#ctor(System.TimeSpan)">
      <summary>
            Creates a new monitor for system clock changes with the specified polling frequency.
            </summary>
      <param name="period">Polling frequency for system clock changes.</param>
    </member>
    <member name="E:System.Reactive.PlatformServices.PeriodicTimerSystemClockMonitor.SystemClockChanged">
      <summary>
            Event that gets raised when a system clock change is detected.
            </summary>
    </member>
    <member name="T:System.Reactive.NotificationKind">
      <summary>
            Indicates the type of a notification.
            </summary>
    </member>
    <member name="F:System.Reactive.NotificationKind.OnNext">
      <summary>
            Represents an OnNext notification.
            </summary>
    </member>
    <member name="F:System.Reactive.NotificationKind.OnError">
      <summary>
            Represents an OnError notification.
            </summary>
    </member>
    <member name="F:System.Reactive.NotificationKind.OnCompleted">
      <summary>
            Represents an OnCompleted notification.
            </summary>
    </member>
    <member name="T:System.Reactive.Notification`1">
      <summary>
            Represents a notification to an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the observer.</typeparam>
    </member>
    <member name="T:System.Reactive.Notification`1.OnNextNotification">
      <summary>
            Represents an OnNext notification to an observer.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnNextNotification.GetHashCode">
      <summary>
            Returns the hash code for this instance.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnNextNotification.ToString">
      <summary>
            Returns a string representation of this instance.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnNextNotification.Value">
      <summary>
            Returns the value of an OnNext notification.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnNextNotification.Exception">
      <summary>
            Returns null.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnNextNotification.HasValue">
      <summary>
            Returns true.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnNextNotification.Kind">
      <summary>
            Returns NotificationKind.OnNext.
            </summary>
    </member>
    <member name="T:System.Reactive.Notification`1.OnErrorNotification">
      <summary>
            Represents an OnError notification to an observer.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnErrorNotification.#ctor(System.Exception)">
      <summary>
            Constructs a notification of an exception.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnErrorNotification.GetHashCode">
      <summary>
            Returns the hash code for this instance.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnErrorNotification.ToString">
      <summary>
            Returns a string representation of this instance.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnErrorNotification.Value">
      <summary>
            Throws the exception.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnErrorNotification.Exception">
      <summary>
            Returns the exception.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnErrorNotification.HasValue">
      <summary>
            Returns false.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnErrorNotification.Kind">
      <summary>
            Returns NotificationKind.OnError.
            </summary>
    </member>
    <member name="T:System.Reactive.Notification`1.OnCompletedNotification">
      <summary>
            Represents an OnCompleted notification to an observer.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnCompletedNotification.#ctor">
      <summary>
            Constructs a notification of the end of a sequence.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnCompletedNotification.GetHashCode">
      <summary>
            Returns the hash code for this instance.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.OnCompletedNotification.ToString">
      <summary>
            Returns a string representation of this instance.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnCompletedNotification.Value">
      <summary>
            Throws an InvalidOperationException.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnCompletedNotification.Exception">
      <summary>
            Returns null.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnCompletedNotification.HasValue">
      <summary>
            Returns false.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.OnCompletedNotification.Kind">
      <summary>
            Returns NotificationKind.OnCompleted.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.#ctor">
      <summary>
            Default constructor used by derived types.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification`1.Equals(System.Reactive.Notification{`0})">
      <summary>
            Determines whether the current Notification&lt;T&gt; object has the same observer message payload as a specified Notification&lt;T&gt; value.
            </summary>
      <param name="other">An object to compare to the current Notification&lt;T&gt; object.</param>
      <returns>true if both Notification&lt;T&gt; objects have the same observer message payload; otherwise, false.</returns>
      <remarks>
            Equality of Notification&lt;T&gt; objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any).
            This means two Notification&lt;T&gt; objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method.
            In case one wants to determine whether two Notification&lt;T&gt; objects represent the same observer method call, use Object.ReferenceEquals identity equality instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Notification`1.op_Equality(System.Reactive.Notification{`0},System.Reactive.Notification{`0})">
      <summary>
            Determines whether the two specified Notification&lt;T&gt; objects have the same observer message payload.
            </summary>
      <param name="left">The first Notification&lt;T&gt; to compare, or null.</param>
      <param name="right">The second Notification&lt;T&gt; to compare, or null.</param>
      <returns>true if the first Notification&lt;T&gt; value has the same observer message payload as the second Notification&lt;T&gt; value; otherwise, false.</returns>
      <remarks>
            Equality of Notification&lt;T&gt; objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any).
            This means two Notification&lt;T&gt; objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method.
            In case one wants to determine whether two Notification&lt;T&gt; objects represent the same observer method call, use Object.ReferenceEquals identity equality instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Notification`1.op_Inequality(System.Reactive.Notification{`0},System.Reactive.Notification{`0})">
      <summary>
            Determines whether the two specified Notification&lt;T&gt; objects have a different observer message payload.
            </summary>
      <param name="left">The first Notification&lt;T&gt; to compare, or null.</param>
      <param name="right">The second Notification&lt;T&gt; to compare, or null.</param>
      <returns>true if the first Notification&lt;T&gt; value has a different observer message payload as the second Notification&lt;T&gt; value; otherwise, false.</returns>
      <remarks>
            Equality of Notification&lt;T&gt; objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any).
            This means two Notification&lt;T&gt; objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method.
            In case one wants to determine whether two Notification&lt;T&gt; objects represent a different observer method call, use Object.ReferenceEquals identity equality instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Notification`1.Equals(System.Object)">
      <summary>
            Determines whether the specified System.Object is equal to the current Notification&lt;T&gt;.
            </summary>
      <param name="obj">The System.Object to compare with the current Notification&lt;T&gt;.</param>
      <returns>true if the specified System.Object is equal to the current Notification&lt;T&gt;; otherwise, false.</returns>
      <remarks>
            Equality of Notification&lt;T&gt; objects is based on the equality of the observer message payload they represent, including the notification Kind and the Value or Exception (if any).
            This means two Notification&lt;T&gt; objects can be equal even though they don't represent the same observer method call, but have the same Kind and have equal parameters passed to the observer method.
            In case one wants to determine whether two Notification&lt;T&gt; objects represent the same observer method call, use Object.ReferenceEquals identity equality instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Notification`1.Accept(System.IObserver{`0})">
      <summary>
            Invokes the observer's method corresponding to the notification.
            </summary>
      <param name="observer">Observer to invoke the notification on.</param>
    </member>
    <member name="M:System.Reactive.Notification`1.Accept``1(System.Reactive.IObserver{`0,``0})">
      <summary>
            Invokes the observer's method corresponding to the notification and returns the produced result.
            </summary>
      <typeparam name="TResult">The type of the result returned from the observer's notification handlers.</typeparam>
      <param name="observer">Observer to invoke the notification on.</param>
      <returns>Result produced by the observation.</returns>
    </member>
    <member name="M:System.Reactive.Notification`1.Accept(System.Action{`0},System.Action{System.Exception},System.Action)">
      <summary>
            Invokes the delegate corresponding to the notification.
            </summary>
      <param name="onNext">Delegate to invoke for an OnNext notification.</param>
      <param name="onError">Delegate to invoke for an OnError notification.</param>
      <param name="onCompleted">Delegate to invoke for an OnCompleted notification.</param>
    </member>
    <member name="M:System.Reactive.Notification`1.Accept``1(System.Func{`0,``0},System.Func{System.Exception,``0},System.Func{``0})">
      <summary>
            Invokes the delegate corresponding to the notification and returns the produced result.
            </summary>
      <typeparam name="TResult">The type of the result returned from the notification handler delegates.</typeparam>
      <param name="onNext">Delegate to invoke for an OnNext notification.</param>
      <param name="onError">Delegate to invoke for an OnError notification.</param>
      <param name="onCompleted">Delegate to invoke for an OnCompleted notification.</param>
      <returns>Result produced by the observation.</returns>
    </member>
    <member name="M:System.Reactive.Notification`1.ToObservable">
      <summary>
            Returns an observable sequence with a single notification, using the immediate scheduler.
            </summary>
      <returns>The observable sequence that surfaces the behavior of the notification upon subscription.</returns>
    </member>
    <member name="M:System.Reactive.Notification`1.ToObservable(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence with a single notification.
            </summary>
      <param name="scheduler">Scheduler to send out the notification calls on.</param>
      <returns>The observable sequence that surfaces the behavior of the notification upon subscription.</returns>
    </member>
    <member name="P:System.Reactive.Notification`1.Value">
      <summary>
            Returns the value of an OnNext notification or throws an exception.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.HasValue">
      <summary>
            Returns a value that indicates whether the notification has a value.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.Exception">
      <summary>
            Returns the exception of an OnError notification or returns null.
            </summary>
    </member>
    <member name="P:System.Reactive.Notification`1.Kind">
      <summary>
            Gets the kind of notification that is represented.
            </summary>
    </member>
    <member name="T:System.Reactive.Notification">
      <summary>
            Provides a set of static methods for constructing notifications.
            </summary>
    </member>
    <member name="M:System.Reactive.Notification.CreateOnNext``1(``0)">
      <summary>
            Creates an object that represents an OnNext notification to an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence.</typeparam>
      <param name="value">The value contained in the notification.</param>
      <returns>The OnNext notification containing the value.</returns>
    </member>
    <member name="M:System.Reactive.Notification.CreateOnError``1(System.Exception)">
      <summary>
            Creates an object that represents an OnError notification to an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence.</typeparam>
      <param name="error">The exception contained in the notification.</param>
      <returns>The OnError notification containing the exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Notification.CreateOnCompleted``1">
      <summary>
            Creates an object that represents an OnCompleted notification to an observer.
            </summary>
      <typeparam name="T">The type of the elements received by the observer. Upon dematerialization of the notifications into an observable sequence, this type is used as the element type for the sequence.</typeparam>
      <returns>The OnCompleted notification.</returns>
    </member>
    <member name="T:System.Reactive.Unit">
      <summary>
            Represents a type with a single value. This type is often used to denote the successful completion of a void-returning method (C#) or a Sub procedure (Visual Basic).
            </summary>
    </member>
    <member name="M:System.Reactive.Unit.Equals(System.Reactive.Unit)">
      <summary>
            Determines whether the specified Unit values is equal to the current Unit. Because Unit has a single value, this always returns true.
            </summary>
      <param name="other">An object to compare to the current Unit value.</param>
      <returns>Because Unit has a single value, this always returns true.</returns>
    </member>
    <member name="M:System.Reactive.Unit.Equals(System.Object)">
      <summary>
            Determines whether the specified System.Object is equal to the current Unit.
            </summary>
      <param name="obj">The System.Object to compare with the current Unit.</param>
      <returns>true if the specified System.Object is a Unit value; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Unit.GetHashCode">
      <summary>
            Returns the hash code for the current Unit value.
            </summary>
      <returns>A hash code for the current Unit value.</returns>
    </member>
    <member name="M:System.Reactive.Unit.ToString">
      <summary>
            Returns a string representation of the current Unit value.
            </summary>
      <returns>String representation of the current Unit value.</returns>
    </member>
    <member name="M:System.Reactive.Unit.op_Equality(System.Reactive.Unit,System.Reactive.Unit)">
      <summary>
            Determines whether the two specified Unit values are equal. Because Unit has a single value, this always returns true.
            </summary>
      <param name="first">The first Unit value to compare.</param>
      <param name="second">The second Unit value to compare.</param>
      <returns>Because Unit has a single value, this always returns true.</returns>
    </member>
    <member name="M:System.Reactive.Unit.op_Inequality(System.Reactive.Unit,System.Reactive.Unit)">
      <summary>
            Determines whether the two specified Unit values are not equal. Because Unit has a single value, this always returns false.
            </summary>
      <param name="first">The first Unit value to compare.</param>
      <param name="second">The second Unit value to compare.</param>
      <returns>Because Unit has a single value, this always returns false.</returns>
    </member>
    <member name="P:System.Reactive.Unit.Default">
      <summary>
            Gets the single unit value.
            </summary>
    </member>
    <member name="T:System.Reactive.Strings_Core">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.CANT_OBTAIN_SCHEDULER">
      <summary>
              Looks up a localized string similar to Using the Scheduler.{0} property is no longer supported due to refactoring of the API surface and elimination of platform-specific dependencies. Please include System.Reactive.PlatformServices for your target platform and use the {0}Scheduler type instead..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.COMPLETED_NO_VALUE">
      <summary>
              Looks up a localized string similar to OnCompleted notification doesn't have a value..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.DISPOSABLE_ALREADY_ASSIGNED">
      <summary>
              Looks up a localized string similar to Disposable has already been assigned..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.FAILED_CLOCK_MONITORING">
      <summary>
              Looks up a localized string similar to Failed to start monitoring system clock changes..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.HEAP_EMPTY">
      <summary>
              Looks up a localized string similar to Heap is empty..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.REENTRANCY_DETECTED">
      <summary>
              Looks up a localized string similar to Reentrancy has been detected..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.OBSERVER_TERMINATED">
      <summary>
              Looks up a localized string similar to Observer has already terminated..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Core.SCHEDULER_OPERATION_ALREADY_AWAITED">
      <summary>
              Looks up a localized string similar to This scheduler operation has already been awaited..
            </summary>
    </member>
    <member name="T:System.Reactive.NamespaceDoc">
      <summary>
            The <b>System.Reactive</b> namespace contains interfaces and classes used throughout the Reactive Extensions library.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Concurrency</b> namespace contains interfaces and classes that provide the scheduler infrastructure used by Reactive Extensions to construct and
            process event streams. Schedulers are used to parameterize the concurrency introduced by query operators, provide means to virtualize time, to process historical data,
            and to write unit tests for functionality built using Reactive Extensions constructs.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Disposables</b> namespace contains interfaces and classes that provide a compositional set of constructs used to deal with resource and subscription
            management in Reactive Extensions. Those types are used extensively within the implementation of Reactive Extensions and are useful when writing custom query operators or
            schedulers.
            </summary>
    </member>
    <member name="T:System.Reactive.Linq.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Linq</b> namespace contains interfaces and classes that support expressing queries over observable sequences, using Language Integrated Query (LINQ).
            Query operators are made available as extension methods for IObservable&lt;T&gt; and IQbservable&lt;T&gt; defined on the Observable and Qbservable classes, respectively.
            </summary>
    </member>
    <member name="T:System.Reactive.Subjects.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Subjects</b> namespace contains interfaces and classes to represent subjects, which are objects implementing both IObservable&lt;T&gt; and IObserver&lt;T&gt;.
            Subjects are often used as sources of events, allowing one party to raise events and allowing another party to write queries over the event stream. Because of their ability to
            have multiple registered observers, subjects are also used as a facility to provide multicast behavior for event streams in queries.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ISchedulerPeriodic">
      <summary>
            Scheduler with support for running periodic tasks.
            This type of scheduler can be used to run timers more efficiently instead of using recursive scheduling.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.ISchedulerPeriodic.SchedulePeriodic``1(``0,System.TimeSpan,System.Func{``0,``0})">
      <summary>
            Schedules a periodic piece of work.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">Initial state passed to the action upon the first iteration.</param>
      <param name="period">Period for running the work periodically.</param>
      <param name="action">Action to be executed, potentially updating the state.</param>
      <returns>The disposable object used to cancel the scheduled recurring action (best effort).</returns>
    </member>
    <member name="T:System.Reactive.Concurrency.IStopwatchProvider">
      <summary>
            Provider for IStopwatch objects.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.IStopwatchProvider.StartStopwatch">
      <summary>
            Starts a new stopwatch object.
            </summary>
      <returns>New stopwatch object; started at the time of the request.</returns>
    </member>
    <member name="T:System.Reactive.Concurrency.IScheduledItem`1">
      <summary>
            Represents a work item that has been scheduled.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
    </member>
    <member name="M:System.Reactive.Concurrency.IScheduledItem`1.Invoke">
      <summary>
            Invokes the work item.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.IScheduledItem`1.DueTime">
      <summary>
            Gets the absolute time at which the item is due for invocation.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.IScheduler">
      <summary>
            Represents an object that schedules units of work.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.IScheduler.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IScheduler.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.IScheduler.Schedule``1(``0,System.DateTimeOffset,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="P:System.Reactive.Concurrency.IScheduler.Now">
      <summary>
            Gets the scheduler's notion of current time.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.ISchedulerLongRunning">
      <summary>
            Scheduler with support for starting long-running tasks.
            This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.ISchedulerLongRunning.ScheduleLongRunning``1(``0,System.Action{``0,System.Reactive.Disposables.ICancelable})">
      <summary>
            Schedules a long-running piece of work.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <remarks>
        <para>
          <b>Notes to implementers</b>
        </para>
            The returned disposable object should not prevent the work from starting, but only set the cancellation flag passed to the specified action.
            </remarks>
    </member>
    <member name="T:System.Reactive.Concurrency.IStopwatch">
      <summary>
            Abstraction for a stopwatch to compute time relative to a starting point.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.IStopwatch.Elapsed">
      <summary>
            Gets the time elapsed since the stopwatch object was obtained.
            </summary>
    </member>
    <member name="T:System.Reactive.Disposables.ICancelable">
      <summary>
            Disposable resource with dipsosal state tracking.
            </summary>
    </member>
    <member name="P:System.Reactive.Disposables.ICancelable.IsDisposed">
      <summary>
            Gets a value that indicates whether the object is disposed.
            </summary>
    </member>
    <member name="T:System.Reactive.IEventPattern`2">
      <summary>
            Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event.
            </summary>
      <typeparam name="TSender">
            The type of the sender that raised the event.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
      <typeparam name="TEventArgs">
            The type of the event data generated by the event.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="P:System.Reactive.IEventPattern`2.Sender">
      <summary>
            Gets the sender object that raised the event.
            </summary>
    </member>
    <member name="P:System.Reactive.IEventPattern`2.EventArgs">
      <summary>
            Gets the event data that was generated by the event.
            </summary>
    </member>
    <member name="T:System.Reactive.IEventPatternSource`1">
      <summary>
            Represents a data stream signaling its elements by means of an event.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
    </member>
    <member name="T:System.Reactive.IEventSource`1">
      <summary>
            Represents a data stream signaling its elements by means of an event.
            </summary>
      <typeparam name="T">
            The type of the event data generated by the event.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="T:System.Reactive.IObserver`2">
      <summary>
            Provides a mechanism for receiving push-based notifications and returning a response.
            </summary>
      <typeparam name="TValue">
            The type of the elements received by the observer.
            This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
      <typeparam name="TResult">
            The type of the result returned from the observer's notification handlers.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="M:System.Reactive.IObserver`2.OnNext(`0)">
      <summary>
            Notifies the observer of a new element in the sequence.
            </summary>
      <param name="value">The new element in the sequence.</param>
      <returns>Result returned upon observation of a new element.</returns>
    </member>
    <member name="M:System.Reactive.IObserver`2.OnError(System.Exception)">
      <summary>
            Notifies the observer that an exception has occurred.
            </summary>
      <param name="exception">The exception that occurred.</param>
      <returns>Result returned upon observation of an error.</returns>
    </member>
    <member name="M:System.Reactive.IObserver`2.OnCompleted">
      <summary>
            Notifies the observer of the end of the sequence.
            </summary>
      <returns>Result returned upon observation of the sequence completion.</returns>
    </member>
    <member name="T:System.Reactive.Linq.IGroupedObservable`2">
      <summary>
            Represents an observable sequence of elements that have a common key.
            </summary>
      <typeparam name="TKey">
            The type of the key shared by all elements in the group.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
      <typeparam name="TElement">
            The type of the elements in the group.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="P:System.Reactive.Linq.IGroupedObservable`2.Key">
      <summary>
            Gets the common key.
            </summary>
    </member>
    <member name="T:System.Reactive.Linq.IQbservable">
      <summary>
            Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified.
            </summary>
    </member>
    <member name="P:System.Reactive.Linq.IQbservable.ElementType">
      <summary>
            Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed.
            </summary>
    </member>
    <member name="P:System.Reactive.Linq.IQbservable.Expression">
      <summary>
            Gets the expression tree that is associated with the instance of IQbservable.
            </summary>
    </member>
    <member name="P:System.Reactive.Linq.IQbservable.Provider">
      <summary>
            Gets the query provider that is associated with this data source.
            </summary>
    </member>
    <member name="T:System.Reactive.Linq.IQbservable`1">
      <summary>
            Provides functionality to evaluate queries against a specific data source wherein the type of the data is known.
            </summary>
      <typeparam name="T">
            The type of the data in the data source.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="T:System.Reactive.Linq.IQbservableProvider">
      <summary>
            Defines methods to create and execute queries that are described by an IQbservable object.
            </summary>
    </member>
    <member name="M:System.Reactive.Linq.IQbservableProvider.CreateQuery``1(System.Linq.Expressions.Expression)">
      <summary>
            Constructs an IQbservable&gt;TResult&lt; object that can evaluate the query represented by a specified expression tree.
            </summary>
      <typeparam name="TResult">The type of the elements of the System.Reactive.Linq.IQbservable&lt;T&gt; that is returned.</typeparam>
      <param name="expression">Expression tree representing the query.</param>
      <returns>IQbservable object that can evaluate the given query expression.</returns>
    </member>
    <member name="T:System.Reactive.Subjects.IConnectableObservable`1">
      <summary>
            Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence.
            </summary>
      <typeparam name="T">
            The type of the elements in the sequence.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.IConnectableObservable`1.Connect">
      <summary>
            Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established.
            </summary>
      <returns>Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence.</returns>
    </member>
    <member name="T:System.Reactive.Subjects.ISubject`2">
      <summary>
            Represents an object that is both an observable sequence as well as an observer.
            </summary>
      <typeparam name="TSource">
            The type of the elements received by the subject.
            This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
      <typeparam name="TResult">
            The type of the elements produced by the subject.
            This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
            </typeparam>
    </member>
    <member name="T:System.Reactive.Subjects.ISubject`1">
      <summary>
            Represents an object that is both an observable sequence as well as an observer.
            </summary>
      <typeparam name="T">The type of the elements processed by the subject.</typeparam>
    </member>
    <member name="T:System.Reactive.Joins.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Joins</b> namespace contains classes used to express join patterns over observable sequences using fluent method syntax.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.VirtualTimeSchedulerExtensions">
      <summary>
            Provides a set of extension methods for virtual time scheduling.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerExtensions.ScheduleRelative``2(System.Reactive.Concurrency.VirtualTimeSchedulerBase{``0,``1},``1,System.Action)">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <typeparam name="TRelative">Relative time representation type.</typeparam>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerExtensions.ScheduleAbsolute``2(System.Reactive.Concurrency.VirtualTimeSchedulerBase{``0,``1},``0,System.Action)">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <typeparam name="TRelative">Relative time representation type.</typeparam>
      <param name="scheduler">Scheduler to execute the action on.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="action" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Linq.LocalQueryMethodImplementationTypeAttribute">
      <summary>
            Attribute applied to static classes providing expression tree forms of query methods,
            mapping those to the corresponding methods for local query execution on the specified
            target class type.
            </summary>
    </member>
    <member name="M:System.Reactive.Linq.LocalQueryMethodImplementationTypeAttribute.#ctor(System.Type)">
      <summary>
            Creates a new mapping to the specified local execution query method implementation type.
            </summary>
      <param name="targetType">Type with query methods for local execution.</param>
    </member>
    <member name="P:System.Reactive.Linq.LocalQueryMethodImplementationTypeAttribute.TargetType">
      <summary>
            Gets the type with the implementation of local query methods.
            </summary>
    </member>
    <member name="T:System.Reactive.Linq.Observable">
      <summary>
            Provides a set of static methods for writing in-memory queries over observable sequences.
            </summary>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEachAsync``1(System.IObservable{``0},System.Action{``0})">
      <summary>
            Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <returns>Task that signals the termination of the sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEachAsync``1(System.IObservable{``0},System.Action{``0},System.Threading.CancellationToken)">
      <summary>
            Invokes an action for each element in the observable sequence, and returns a Task object that will get signaled when the sequence terminates.
            The loop can be quit prematurely by setting the specified cancellation token.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="cancellationToken">Cancellation token used to stop the loop.</param>
      <returns>Task that signals the termination of the sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEachAsync``1(System.IObservable{``0},System.Action{``0,System.Int32})">
      <summary>
            Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <returns>Task that signals the termination of the sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEachAsync``1(System.IObservable{``0},System.Action{``0,System.Int32},System.Threading.CancellationToken)">
      <summary>
            Invokes an action for each element in the observable sequence, incorporating the element's index, and returns a Task object that will get signaled when the sequence terminates.
            The loop can be quit prematurely by setting the specified cancellation token.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="cancellationToken">Cancellation token used to stop the loop.</param>
      <returns>Task that signals the termination of the sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Case``2(System.Func{``0},System.Collections.Generic.IDictionary{``0,System.IObservable{``1}},System.IObservable{``1})">
      <summary>
            Uses <paramref name="selector" /> to determine which source in <paramref name="sources" /> to return, choosing <paramref name="defaultSource" /> if no match is found.
            </summary>
      <typeparam name="TValue">The type of the value returned by the selector function, used to look up the resulting source.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="selector">Selector function invoked to determine the source to lookup in the <paramref name="sources" /> dictionary.</param>
      <param name="sources">Dictionary of sources to select from based on the <paramref name="selector" /> invocation result.</param>
      <param name="defaultSource">Default source to select in case no matching source in <paramref name="sources" /> is found.</param>
      <returns>The observable sequence retrieved from the <paramref name="sources" /> dictionary based on the <paramref name="selector" /> invocation result, or <paramref name="defaultSource" /> if no match is found.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> or <paramref name="sources" /> or <paramref name="defaultSource" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Case``2(System.Func{``0},System.Collections.Generic.IDictionary{``0,System.IObservable{``1}},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Uses <paramref name="selector" /> to determine which source in <paramref name="sources" /> to return, choosing an empty sequence on the specified scheduler if no match is found.
            </summary>
      <typeparam name="TValue">The type of the value returned by the selector function, used to look up the resulting source.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="selector">Selector function invoked to determine the source to lookup in the <paramref name="sources" /> dictionary.</param>
      <param name="sources">Dictionary of sources to select from based on the <paramref name="selector" /> invocation result.</param>
      <param name="scheduler">Scheduler to generate an empty sequence on in case no matching source in <paramref name="sources" /> is found.</param>
      <returns>The observable sequence retrieved from the <paramref name="sources" /> dictionary based on the <paramref name="selector" /> invocation result, or an empty sequence if no match is found.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> or <paramref name="sources" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Case``2(System.Func{``0},System.Collections.Generic.IDictionary{``0,System.IObservable{``1}})">
      <summary>
            Uses <paramref name="selector" /> to determine which source in <paramref name="sources" /> to return, choosing an empty sequence if no match is found.
            </summary>
      <typeparam name="TValue">The type of the value returned by the selector function, used to look up the resulting source.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="selector">Selector function invoked to determine the source to lookup in the <paramref name="sources" /> dictionary.</param>
      <param name="sources">Dictionary of sources to select from based on the <paramref name="selector" /> invocation result.</param>
      <returns>The observable sequence retrieved from the <paramref name="sources" /> dictionary based on the <paramref name="selector" /> invocation result, or an empty sequence if no match is found.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> or <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DoWhile``1(System.IObservable{``0},System.Func{System.Boolean})">
      <summary>
            Repeats the given <paramref name="source" /> as long as the specified <paramref name="condition" /> holds, where the <paramref name="condition" /> is evaluated after each repeated <paramref name="source" /> completed.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source to repeat as long as the <paramref name="condition" /> function evaluates to true.</param>
      <param name="condition">Condition that will be evaluated upon the completion of an iteration through the <paramref name="source" />, to determine whether repetition of the source is required.</param>
      <returns>The observable sequence obtained by concatenating the <paramref name="source" /> sequence as long as the <paramref name="condition" /> holds.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="condition" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.For``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Concatenates the observable sequences obtained by running the <paramref name="resultSelector" /> for each element in the given enumerable <paramref name="source" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the enumerable source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the observable result sequence.</typeparam>
      <param name="source">Enumerable source for which each element will be mapped onto an observable source that will be concatenated in the result sequence.</param>
      <param name="resultSelector">Function to select an observable source for each element in the <paramref name="source" />.</param>
      <returns>The observable sequence obtained by concatenating the sources returned by <paramref name="resultSelector" /> for each element in the <paramref name="source" />.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.If``1(System.Func{System.Boolean},System.IObservable{``0},System.IObservable{``0})">
      <summary>
            If the specified <paramref name="condition" /> evaluates true, select the <paramref name="thenSource" /> sequence. Otherwise, select the <paramref name="elseSource" /> sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="condition">Condition evaluated to decide which sequence to return.</param>
      <param name="thenSource">Sequence returned in case <paramref name="condition" /> evaluates true.</param>
      <param name="elseSource">Sequence returned in case <paramref name="condition" /> evaluates false.</param>
      <returns>
        <paramref name="thenSource" /> if <paramref name="condition" /> evaluates true; <paramref name="elseSource" /> otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="thenSource" /> or <paramref name="elseSource" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.If``1(System.Func{System.Boolean},System.IObservable{``0})">
      <summary>
            If the specified <paramref name="condition" /> evaluates true, select the <paramref name="thenSource" /> sequence. Otherwise, return an empty sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="condition">Condition evaluated to decide which sequence to return.</param>
      <param name="thenSource">Sequence returned in case <paramref name="condition" /> evaluates true.</param>
      <returns>
        <paramref name="thenSource" /> if <paramref name="condition" /> evaluates true; an empty sequence otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="thenSource" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.If``1(System.Func{System.Boolean},System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            If the specified <paramref name="condition" /> evaluates true, select the <paramref name="thenSource" /> sequence. Otherwise, return an empty sequence generated on the specified scheduler.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="condition">Condition evaluated to decide which sequence to return.</param>
      <param name="thenSource">Sequence returned in case <paramref name="condition" /> evaluates true.</param>
      <param name="scheduler">Scheduler to generate an empty sequence on in case <paramref name="condition" /> evaluates false.</param>
      <returns>
        <paramref name="thenSource" /> if <paramref name="condition" /> evaluates true; an empty sequence otherwise.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="thenSource" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.While``1(System.Func{System.Boolean},System.IObservable{``0})">
      <summary>
            Repeats the given <paramref name="source" /> as long as the specified <paramref name="condition" /> holds, where the <paramref name="condition" /> is evaluated before each repeated <paramref name="source" /> is subscribed to.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source to repeat as long as the <paramref name="condition" /> function evaluates to true.</param>
      <param name="condition">Condition that will be evaluated before subscription to the <paramref name="source" />, to determine whether repetition of the source is required.</param>
      <returns>The observable sequence obtained by concatenating the <paramref name="source" /> sequence as long as the <paramref name="condition" /> holds.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``4(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``5(System.Func{``0,``1,``2,``3,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``4})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``6(System.Func{``0,``1,``2,``3,``4,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``5})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``7(System.Func{``0,``1,``2,``3,``4,``5,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``6})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``8(System.Func{``0,``1,``2,``3,``4,``5,``6,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``7})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``8})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``9})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``10})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``11})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``12})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``13})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``15(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``14})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TResult">The type of the result returned by the end delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``3(System.Func{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``4(System.Func{``0,``1,``2,``3,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``5(System.Func{``0,``1,``2,``3,``4,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``6(System.Func{``0,``1,``2,``3,``4,``5,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``7(System.Func{``0,``1,``2,``3,``4,``5,``6,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``8(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsyncPattern``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult})">
      <summary>
            Converts a Begin/End invoke function pair into an asynchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the begin delegate.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the begin delegate.</typeparam>
      <param name="begin">The delegate that begins the asynchronous operation.</param>
      <param name="end">The delegate that ends the asynchronous operation.</param>
      <returns>Function that can be used to start the asynchronous operation and retrieve the result (represented as a Unit value) as an observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="begin" /> or <paramref name="end" /> is null.</exception>
      <remarks>Each invocation of the resulting function will cause the asynchronous operation to be started. Subscription to the resulting sequence has no observable side-effect, and each subscription will produce the asynchronous operation's result.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Start``1(System.Func{``0})">
      <summary>
            Invokes the specified function asynchronously, surfacing the result through an observable sequence.
            </summary>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to run asynchronously.</param>
      <returns>An observable sequence exposing the function's result value, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The function is called immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the function's result.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Start``1(System.Func{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence
            </summary>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to run asynchronously.</param>
      <param name="scheduler">Scheduler to run the function on.</param>
      <returns>An observable sequence exposing the function's result value, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The function is called immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the function's result.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
      <summary>
            Invokes the asynchronous function, surfacing the result through an observable sequence.
            </summary>
      <typeparam name="TResult">The type of the result returned by the asynchronous function.</typeparam>
      <param name="functionAsync">Asynchronous function to run.</param>
      <returns>An observable sequence exposing the function's result value, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="functionAsync" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The function is started immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the function's result.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})">
      <summary>
            Invokes the asynchronous function, surfacing the result through an observable sequence.
            The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information.
            </summary>
      <typeparam name="TResult">The type of the result returned by the asynchronous function.</typeparam>
      <param name="functionAsync">Asynchronous function to run.</param>
      <returns>An observable sequence exposing the function's result value, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="functionAsync" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The function is started immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the function's result.</description>
          </item>
          <item>
            <description>
            If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed
            subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator.
            Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription
            to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using
            multicast operators.
            </description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Start(System.Action)">
      <summary>
            Invokes the action asynchronously, surfacing the result through an observable sequence.
            </summary>
      <param name="action">Action to run asynchronously.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The action is called immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the action's outcome.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Start(System.Action,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Invokes the action asynchronously on the specified scheduler, surfacing the result through an observable sequence.
            </summary>
      <param name="action">Action to run asynchronously.</param>
      <param name="scheduler">Scheduler to run the action on.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The action is called immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the action's outcome.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartAsync(System.Func{System.Threading.Tasks.Task})">
      <summary>
            Invokes the asynchronous action, surfacing the result through an observable sequence.
            </summary>
      <param name="actionAsync">Asynchronous action to run.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="actionAsync" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The action is started immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the action's outcome.</description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task})">
      <summary>
            Invokes the asynchronous action, surfacing the result through an observable sequence.
            The CancellationToken is shared by all subscriptions on the resulting observable sequence. See the remarks section for more information.
            </summary>
      <param name="actionAsync">Asynchronous action to run.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="actionAsync" /> is null.</exception>
      <remarks>
        <list type="bullet">
          <item>
            <description>The action is started immediately, not during the subscription of the resulting sequence.</description>
          </item>
          <item>
            <description>Multiple subscriptions to the resulting sequence can observe the action's outcome.</description>
          </item>
          <item>
            <description>
            If any subscription to the resulting sequence is disposed, the CancellationToken is set. The observer associated to the disposed
            subscription won't see the TaskCanceledException, but other observers will. You can protect against this using the Catch operator.
            Be careful when handing out the resulting sequence because of this behavior. The most common use is to have a single subscription
            to the resulting sequence, which controls the CancellationToken state. Alternatively, you can control subscription behavior using
            multicast operators.
            </description>
          </item>
        </list>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
      <summary>
            Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started.
            </summary>
      <typeparam name="TResult">The type of the result returned by the asynchronous function.</typeparam>
      <param name="functionAsync">Asynchronous function to convert.</param>
      <returns>An observable sequence exposing the result of invoking the function, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="functionAsync" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})">
      <summary>
            Converts to asynchronous function into an observable sequence. Each subscription to the resulting sequence causes the function to be started.
            The CancellationToken passed to the asynchronous function is tied to the observable sequence's subscription that triggered the function's invocation and can be used for best-effort cancellation.
            </summary>
      <typeparam name="TResult">The type of the result returned by the asynchronous function.</typeparam>
      <param name="functionAsync">Asynchronous function to convert.</param>
      <returns>An observable sequence exposing the result of invoking the function, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="functionAsync" /> is null.</exception>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsync(System.Func{System.Threading.Tasks.Task})">
      <summary>
            Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started.
            </summary>
      <param name="actionAsync">Asynchronous action to convert.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="actionAsync" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task})">
      <summary>
            Converts to asynchronous action into an observable sequence. Each subscription to the resulting sequence causes the action to be started.
            The CancellationToken passed to the asynchronous action is tied to the observable sequence's subscription that triggered the action's invocation and can be used for best-effort cancellation.
            </summary>
      <param name="actionAsync">Asynchronous action to convert.</param>
      <returns>An observable sequence exposing a Unit value upon completion of the action, or an exception.</returns>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous function will be signaled.</remarks>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="actionAsync" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``1(System.Func{``0})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``1(System.Func{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``2(System.Func{``0,``1})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``2(System.Func{``0,``1},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``3(System.Func{``0,``1,``2})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``3(System.Func{``0,``1,``2},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``4(System.Func{``0,``1,``2,``3})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``4(System.Func{``0,``1,``2,``3},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``5(System.Func{``0,``1,``2,``3,``4})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``5(System.Func{``0,``1,``2,``3,``4},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``6(System.Func{``0,``1,``2,``3,``4,``5})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``6(System.Func{``0,``1,``2,``3,``4,``5},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``7(System.Func{``0,``1,``2,``3,``4,``5,``6})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``7(System.Func{``0,``1,``2,``3,``4,``5,``6},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``8(System.Func{``0,``1,``2,``3,``4,``5,``6,``7})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``8(System.Func{``0,``1,``2,``3,``4,``5,``6,``7},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``15(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``15(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``16(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``16(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16})">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the function.</typeparam>
      <typeparam name="TArg16">The type of the sixteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the function.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the function.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the function.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the function.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the function.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the function.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the function.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the function.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the function.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the function.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the function.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the function.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the function.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the function.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the function.</typeparam>
      <typeparam name="TArg16">The type of the sixteenth argument passed to the function.</typeparam>
      <typeparam name="TResult">The type of the result returned by the function.</typeparam>
      <param name="function">Function to convert to an asynchronous function.</param>
      <param name="scheduler">Scheduler to invoke the original function on.</param>
      <returns>Asynchronous function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="function" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync(System.Action)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync(System.Action,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``1(System.Action{``0})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``1(System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``2(System.Action{``0,``1})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``2(System.Action{``0,``1},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``3(System.Action{``0,``1,``2})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``3(System.Action{``0,``1,``2},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``4(System.Action{``0,``1,``2,``3})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``4(System.Action{``0,``1,``2,``3},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``5(System.Action{``0,``1,``2,``3,``4})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``5(System.Action{``0,``1,``2,``3,``4},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``6(System.Action{``0,``1,``2,``3,``4,``5})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``6(System.Action{``0,``1,``2,``3,``4,``5},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``7(System.Action{``0,``1,``2,``3,``4,``5,``6})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``7(System.Action{``0,``1,``2,``3,``4,``5,``6},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``8(System.Action{``0,``1,``2,``3,``4,``5,``6,``7})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``8(System.Action{``0,``1,``2,``3,``4,``5,``6,``7},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``9(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``9(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``10(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``10(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``11(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``11(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``12(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``12(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``13(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``13(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``14(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``14(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``15(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``15(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``16(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15})">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the default scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the action.</typeparam>
      <typeparam name="TArg16">The type of the sixteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToAsync``16(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts the function into an asynchronous action. Each invocation of the resulting asynchronous action causes an invocation of the original synchronous action on the specified scheduler.
            </summary>
      <typeparam name="TArg1">The type of the first argument passed to the action.</typeparam>
      <typeparam name="TArg2">The type of the second argument passed to the action.</typeparam>
      <typeparam name="TArg3">The type of the third argument passed to the action.</typeparam>
      <typeparam name="TArg4">The type of the fourth argument passed to the action.</typeparam>
      <typeparam name="TArg5">The type of the fifth argument passed to the action.</typeparam>
      <typeparam name="TArg6">The type of the sixth argument passed to the action.</typeparam>
      <typeparam name="TArg7">The type of the seventh argument passed to the action.</typeparam>
      <typeparam name="TArg8">The type of the eighth argument passed to the action.</typeparam>
      <typeparam name="TArg9">The type of the ninth argument passed to the action.</typeparam>
      <typeparam name="TArg10">The type of the tenth argument passed to the action.</typeparam>
      <typeparam name="TArg11">The type of the eleventh argument passed to the action.</typeparam>
      <typeparam name="TArg12">The type of the twelfth argument passed to the action.</typeparam>
      <typeparam name="TArg13">The type of the thirteenth argument passed to the action.</typeparam>
      <typeparam name="TArg14">The type of the fourteenth argument passed to the action.</typeparam>
      <typeparam name="TArg15">The type of the fifteenth argument passed to the action.</typeparam>
      <typeparam name="TArg16">The type of the sixteenth argument passed to the action.</typeparam>
      <param name="action">Action to convert to an asynchronous action.</param>
      <param name="scheduler">Scheduler to invoke the original action on.</param>
      <returns>Asynchronous action.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Action{System.EventHandler},System.Action{System.EventHandler})">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Action{System.EventHandler},System.Action{System.EventHandler},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Action{``0},System.Action{``0})">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Action{``0},System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Func{System.EventHandler{``1},``0},System.Action{``0},System.Action{``0})">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler`1" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="conversion">A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.</param>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="conversion" /> or <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Func{System.EventHandler{``1},``0},System.Action{``0},System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler`1" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="conversion">A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.</param>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="conversion" /> or <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``3(System.Action{``0},System.Action{``0})">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``3(System.Action{``0},System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on a supplied event delegate type with a strongly typed sender parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Action{System.EventHandler{``0}},System.Action{System.EventHandler{``0}})">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler`1" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Action{System.EventHandler{``0}},System.Action{System.EventHandler{``0}},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event, conforming to the standard .NET event pattern based on <see cref="T:System.EventHandler`1" />, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Object,System.String)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with an <see cref="T:System.EventArgs" /> parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Object,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with an <see cref="T:System.EventArgs" /> parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Object,System.String)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Object,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Object,System.String)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Object,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts an instance .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the target object type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="target">Object instance that exposes the event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="target" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Type,System.String)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with an <see cref="T:System.EventArgs" /> parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern(System.Type,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with an <see cref="T:System.EventArgs" /> parameter, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Type,System.String)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``1(System.Type,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Type,System.String)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEventPattern, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEventPattern, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEventPattern``2(System.Type,System.String,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a static .NET event, conforming to the standard .NET event pattern with a strongly typed sender and strongly typed event arguments, to an observable sequence.
            Each event invocation is surfaced through an OnNext message in the resulting sequence.
            Reflection is used to discover the event based on the specified type and the specified event name.
            For conversion of events that don't conform to the standard .NET event pattern, use any of the FromEvent overloads instead.
            </summary>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="type">Type that exposes the static event to convert.</param>
      <param name="eventName">Name of the event to convert.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains data representations of invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="type" /> or <paramref name="eventName" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The event could not be found. -or- The event does not conform to the standard .NET event pattern. -or- The event's first argument type is not assignable to TSender. -or- The event's second argument type is not assignable to TEventArgs.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEventPattern calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEventPattern that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``2(System.Func{System.Action{``1},``0},System.Action{``0},System.Action{``0})">
      <summary>
            Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="conversion">A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.</param>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="conversion" /> or <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEvent, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``2(System.Func{System.Action{``1},``0},System.Action{``0},System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event to an observable sequence, using a conversion function to obtain the event delegate. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="conversion">A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.</param>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="conversion" /> or <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``2(System.Action{``0},System.Action{``0})">
      <summary>
            Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEvent, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``2(System.Action{``0},System.Action{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a .NET event to an observable sequence, using a supplied event delegate type. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``1(System.Action{System.Action{``0}},System.Action{System.Action{``0}})">
      <summary>
            Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEvent, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent``1(System.Action{System.Action{``0}},System.Action{System.Action{``0}},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts a generic Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent(System.Action{System.Action},System.Action{System.Action})">
      <summary>
            Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            The current <see cref="T:System.Threading.SynchronizationContext" /> is captured during the call to FromEvent, and is used to post add and remove handler invocations.
            This behavior ensures add and remove handler operations for thread-affine events are accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            If no SynchronizationContext is present at the point of calling FromEvent, add and remove handler invocations are made synchronously on the thread
            making the Subscribe or Dispose call, respectively.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions due to the free-threaded nature of Reactive Extensions. Doing so
            makes the captured SynchronizationContext predictable. This best practice also reduces clutter of bridging code inside queries, making the query expressions
            more concise and easier to understand.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FromEvent(System.Action{System.Action},System.Action{System.Action},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts an Action-based .NET event to an observable sequence. Each event invocation is surfaced through an OnNext message in the resulting sequence.
            For conversion of events conforming to the standard .NET event pattern, use any of the FromEventPattern overloads instead.
            </summary>
      <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param>
      <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param>
      <param name="scheduler">The scheduler to run the add and remove event handler logic on.</param>
      <returns>The observable sequence that contains the event argument objects passed to the invocations of the underlying .NET event.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addHandler" /> or <paramref name="removeHandler" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            Add and remove handler invocations are made whenever the number of observers grows beyond zero.
            As such, an event handler may be shared by multiple simultaneously active observers, using a subject for multicasting.
            </para>
        <para>
            Add and remove handler invocations are run on the specified scheduler. This behavior allows add and remove handler operations for thread-affine events to be
            accessed from the same context, as required by some UI frameworks.
            </para>
        <para>
            It's recommended to lift FromEvent calls outside event stream query expressions. This best practice reduces clutter of bridging code inside queries,
            making the query expressions more concise and easier to understand. This has additional benefits for overloads of FromEvent that omit the IScheduler
            parameter. For more information, see the remarks section on those overloads.
            </para>
      </remarks>
      <seealso cref="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Aggregate``2(System.IObservable{``0},``1,System.Func{``1,``0,``1})">
      <summary>
            Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value.
            For aggregation behavior with incremental intermediate results, see <see cref="M:System.Reactive.Linq.Observable.Scan``2(System.IObservable{``0},``1,System.Func{``1,``0,``1})" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TAccumulate">The type of the result of the aggregation.</typeparam>
      <param name="source">An observable sequence to aggregate over.</param>
      <param name="seed">The initial accumulator value.</param>
      <param name="accumulator">An accumulator function to be invoked on each element.</param>
      <returns>An observable sequence containing a single element with the final accumulator value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="accumulator" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Aggregate``3(System.IObservable{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``2})">
      <summary>
            Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value,
            and the specified result selector function is used to select the result value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
      <typeparam name="TResult">The type of the resulting value.</typeparam>
      <param name="source">An observable sequence to aggregate over.</param>
      <param name="seed">The initial accumulator value.</param>
      <param name="accumulator">An accumulator function to be invoked on each element.</param>
      <param name="resultSelector">A function to transform the final accumulator value into the result value.</param>
      <returns>An observable sequence containing a single element with the final accumulator value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="accumulator" /> or <paramref name="resultSelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Aggregate``1(System.IObservable{``0},System.Func{``0,``0,``0})">
      <summary>
            Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence.
            For aggregation behavior with incremental intermediate results, see <see cref="M:System.Reactive.Linq.Observable.Scan``1(System.IObservable{``0},System.Func{``0,``0,``0})" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the result of the aggregation.</typeparam>
      <param name="source">An observable sequence to aggregate over.</param>
      <param name="accumulator">An accumulator function to be invoked on each element.</param>
      <returns>An observable sequence containing a single element with the final accumulator value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="accumulator" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.All``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Determines whether all elements of an observable sequence satisfy a condition.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to apply the predicate to.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Any``1(System.IObservable{``0})">
      <summary>
            Determines whether an observable sequence contains any elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to check for non-emptiness.</param>
      <returns>An observable sequence containing a single element determining whether the source sequence contains any elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Any``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Determines whether any element of an observable sequence satisfies a condition.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to apply the predicate to.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Double})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Double" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Single})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Single" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Decimal})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Decimal" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Int32})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int32" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Int64})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int64" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Nullable{System.Double}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Double" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Nullable{System.Single}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Single" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Nullable{System.Decimal}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Decimal" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Nullable{System.Int32}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int32" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average(System.IObservable{System.Nullable{System.Int64}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int64" /> values to calculate the average of.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Decimal})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Double})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Single})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Int32})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Int64})">
      <summary>
            Computes the average of an observable sequence of <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Double}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Single}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int32}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Average``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int64}})">
      <summary>
            Computes the average of an observable sequence of nullable <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to calculate the average of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Contains``1(System.IObservable{``0},``0)">
      <summary>
            Determines whether an observable sequence contains a specified element by using the default equality comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence in which to locate a value.</param>
      <param name="value">The value to locate in the source sequence.</param>
      <returns>An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Contains``1(System.IObservable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
      <summary>
            Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer&lt;T&gt;.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence in which to locate a value.</param>
      <param name="value">The value to locate in the source sequence.</param>
      <param name="comparer">An equality comparer to compare elements.</param>
      <returns>An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Count``1(System.IObservable{``0})">
      <summary>
            Returns an observable sequence containing an <see cref="T:System.Int32" /> that represents the total number of elements in an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence that contains elements to be counted.</param>
      <returns>An observable sequence containing a single element with the number of elements in the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The number of elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Count``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns an observable sequence containing an <see cref="T:System.Int32" /> that represents how many elements in the specified observable sequence satisfy a condition.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence that contains elements to be counted.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ElementAt``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns the element at a specified index in a sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to return the element from.</param>
      <param name="index">The zero-based index of the element to retrieve.</param>
      <returns>An observable sequence that produces the element at the specified position in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">(Asynchronous) <paramref name="index" /> is greater than or equal to the number of elements in the source sequence.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ElementAtOrDefault``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns the element at a specified index in a sequence or a default value if the index is out of range.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to return the element from.</param>
      <param name="index">The zero-based index of the element to retrieve.</param>
      <returns>An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstAsync``1(System.IObservable{``0})">
      <summary>
            Returns the first element of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the first element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the first element of an observable sequence that satisfies the condition in the predicate.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the first element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstOrDefaultAsync``1(System.IObservable{``0})">
      <summary>
            Returns the first element of an observable sequence, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the first element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.IsEmpty``1(System.IObservable{``0})">
      <summary>
            Determines whether an observable sequence is empty.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to check for emptiness.</param>
      <returns>An observable sequence containing a single element determining whether the source sequence is empty.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastAsync``1(System.IObservable{``0})">
      <summary>
            Returns the last element of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the last element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the last element of an observable sequence that satisfies the condition in the predicate.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the last element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) No element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastOrDefaultAsync``1(System.IObservable{``0})">
      <summary>
            Returns the last element of an observable sequence, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the last element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LongCount``1(System.IObservable{``0})">
      <summary>
            Returns an observable sequence containing an <see cref="T:System.Int64" /> that represents the total number of elements in an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence that contains elements to be counted.</param>
      <returns>An observable sequence containing a single element with the number of elements in the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The number of elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.LongCount``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns an observable sequence containing an <see cref="T:System.Int64" /> that represents how many elements in the specified observable sequence satisfy a condition.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence that contains elements to be counted.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0})">
      <summary>
            Returns the maximum element in an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to determine the maximum element of.</param>
      <returns>An observable sequence containing a single element with the maximum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Collections.Generic.IComparer{``0})">
      <summary>
            Returns the maximum value in an observable sequence according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to determine the maximum element of.</param>
      <param name="comparer">Comparer used to compare elements.</param>
      <returns>An observable sequence containing a single element with the maximum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Double})">
      <summary>
            Returns the maximum value in an observable sequence of <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Double" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Single})">
      <summary>
            Returns the maximum value in an observable sequence of <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Single" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Decimal})">
      <summary>
            Returns the maximum value in an observable sequence of <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Decimal" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Int32})">
      <summary>
            Returns the maximum value in an observable sequence of <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int32" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Int64})">
      <summary>
            Returns the maximum value in an observable sequence of <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int64" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Nullable{System.Double}})">
      <summary>
            Returns the maximum value in an observable sequence of nullable <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Double" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Nullable{System.Single}})">
      <summary>
            Returns the maximum value in an observable sequence of nullable <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Single" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Nullable{System.Decimal}})">
      <summary>
            Returns the maximum value in an observable sequence of nullable <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Decimal" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Nullable{System.Int32}})">
      <summary>
            Returns the maximum value in an observable sequence of nullable <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int32" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max(System.IObservable{System.Nullable{System.Int64}})">
      <summary>
            Returns the maximum value in an observable sequence of nullable <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int64" /> values to determine the maximum value of.</param>
      <returns>An observable sequence containing a single element with the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the objects derived from the elements in the source sequence to determine the maximum of.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum value according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the objects derived from the elements in the source sequence to determine the maximum of.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <param name="comparer">Comparer used to compare elements.</param>
      <returns>An observable sequence containing a single element with the value that corresponds to the maximum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Double})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Double" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Double" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Single})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Single" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Single" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Decimal})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Decimal" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Decimal" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Int32})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int32" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int32" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Int64})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum <see cref="T:System.Int64" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int64" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Double}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Double" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Double&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Single}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Single" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Single&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Decimal" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Decimal&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int32}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int32" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int32&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Max``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int64}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the maximum nullable <see cref="T:System.Int64" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the maximum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int64&gt;" /> that corresponds to the maximum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.MaxBy``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Returns the elements in an observable sequence with the maximum key value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to get the maximum elements for.</param>
      <param name="keySelector">Key selector function.</param>
      <returns>An observable sequence containing a list of zero or more elements that have a maximum key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.MaxBy``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
      <summary>
            Returns the elements in an observable sequence with the maximum key value according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to get the maximum elements for.</param>
      <param name="keySelector">Key selector function.</param>
      <param name="comparer">Comparer used to compare key values.</param>
      <returns>An observable sequence containing a list of zero or more elements that have a maximum key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0})">
      <summary>
            Returns the minimum element in an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <returns>An observable sequence containing a single element with the minimum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Collections.Generic.IComparer{``0})">
      <summary>
            Returns the minimum element in an observable sequence according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <param name="comparer">Comparer used to compare elements.</param>
      <returns>An observable sequence containing a single element with the minimum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Double})">
      <summary>
            Returns the minimum value in an observable sequence of <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Double" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Single})">
      <summary>
            Returns the minimum value in an observable sequence of <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Single" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Decimal})">
      <summary>
            Returns the minimum value in an observable sequence of <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Decimal" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Int32})">
      <summary>
            Returns the minimum value in an observable sequence of <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int32" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Int64})">
      <summary>
            Returns the minimum value in an observable sequence of <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int64" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Nullable{System.Double}})">
      <summary>
            Returns the minimum value in an observable sequence of nullable <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Double" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Nullable{System.Single}})">
      <summary>
            Returns the minimum value in an observable sequence of nullable <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Single" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Nullable{System.Decimal}})">
      <summary>
            Returns the minimum value in an observable sequence of nullable <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Decimal" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Nullable{System.Int32}})">
      <summary>
            Returns the minimum value in an observable sequence of nullable <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int32" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min(System.IObservable{System.Nullable{System.Int64}})">
      <summary>
            Returns the minimum value in an observable sequence of nullable <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int64" /> values to determine the minimum value of.</param>
      <returns>An observable sequence containing a single element with the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the objects derived from the elements in the source sequence to determine the minimum of.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum value according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the objects derived from the elements in the source sequence to determine the minimum of.</typeparam>
      <param name="source">An observable sequence to determine the mimimum element of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <param name="comparer">Comparer used to compare elements.</param>
      <returns>An observable sequence containing a single element with the value that corresponds to the minimum element in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Double})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum <see cref="T:System.Double" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Double" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Single})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum <see cref="T:System.Single" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Single" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Decimal})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum <see cref="T:System.Decimal" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Decimal" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Int32})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum <see cref="T:System.Int32" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int32" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Int64})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum <see cref="T:System.Int64" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Int64" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Double}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum nullable <see cref="T:System.Double" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Double&gt;" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Single}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum nullable <see cref="T:System.Single" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Single&gt;" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum nullable <see cref="T:System.Decimal" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Decimal&gt;" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int32}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum nullable <see cref="T:System.Int32" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int32&gt;" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Min``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int64}})">
      <summary>
            Invokes a transform function on each element of a sequence and returns the minimum nullable <see cref="T:System.Int64" /> value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values to determine the minimum value of.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the value of type <see cref="T:System.Nullable&lt;System.Int64&gt;" /> that corresponds to the minimum value in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.MinBy``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Returns the elements in an observable sequence with the minimum key value.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to get the minimum elements for.</param>
      <param name="keySelector">Key selector function.</param>
      <returns>An observable sequence containing a list of zero or more elements that have a minimum key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.MinBy``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
      <summary>
            Returns the elements in an observable sequence with the minimum key value according to the specified comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to get the minimum elements for.</param>
      <param name="keySelector">Key selector function.</param>
      <param name="comparer">Comparer used to compare key values.</param>
      <returns>An observable sequence containing a list of zero or more elements that have a minimum key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SequenceEqual``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Determines whether two sequences are equal by comparing the elements pairwise.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="first">First observable sequence to compare.</param>
      <param name="second">Second observable sequence to compare.</param>
      <returns>An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SequenceEqual``1(System.IObservable{``0},System.IObservable{``0},System.Collections.Generic.IEqualityComparer{``0})">
      <summary>
            Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="first">First observable sequence to compare.</param>
      <param name="second">Second observable sequence to compare.</param>
      <param name="comparer">Comparer used to compare elements of both sequences.</param>
      <returns>An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SequenceEqual``1(System.IObservable{``0},System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="first">First observable sequence to compare.</param>
      <param name="second">Second observable sequence to compare.</param>
      <returns>An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the default equality comparer for their type.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SequenceEqual``1(System.IObservable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
      <summary>
            Determines whether an observable and enumerable sequence are equal by comparing the elements pairwise using a specified equality comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="first">First observable sequence to compare.</param>
      <param name="second">Second observable sequence to compare.</param>
      <param name="comparer">Comparer used to compare elements of both sequences.</param>
      <returns>An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleAsync``1(System.IObservable{``0})">
      <summary>
            Returns the only element of an observable sequence, and reports an exception if there is not exactly one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the single element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence contains more than one element. -or- The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the only element of an observable sequence that satisfies the condition in the predicate, and reports an exception if there is not exactly one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the single element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleOrDefaultAsync``1(System.IObservable{``0})">
      <summary>
            Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method reports an exception if there is more than one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>Sequence containing the single element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The source sequence contains more than one element.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the only element of an observable sequence that matches the predicate, or a default value if no such element exists; this method reports an exception if there is more than one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>Sequence containing the single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">(Asynchronous) The sequence contains more than one element that satisfies the condition in the predicate.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Double})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Double" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Single})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Single" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Decimal})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Decimal" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Int32})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int32" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Int64})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of <see cref="T:System.Int64" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Nullable{System.Double}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Double" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Double" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Nullable{System.Single}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Single" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Single" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Nullable{System.Decimal}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Decimal" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Decimal" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Nullable{System.Int32}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Int32" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int32" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum(System.IObservable{System.Nullable{System.Int64}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Int64" /> values.
            </summary>
      <param name="source">A sequence of nullable <see cref="T:System.Int64" /> values to calculate the sum of.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Double})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Single})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Decimal})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Int32})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Int64})">
      <summary>
            Computes the sum of a sequence of <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Double}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Double" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Single}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Single" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Decimal}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Decimal" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Decimal.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int32}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Int32" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sum``1(System.IObservable{``0},System.Func{``0,System.Nullable{System.Int64}})">
      <summary>
            Computes the sum of a sequence of nullable <see cref="T:System.Int64" /> values that are obtained by invoking a transform function on each element of the input sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence of values that are used to calculate a sum.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence containing a single element with the sum of the values in the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.OverflowException">(Asynchronous) The sum of the projected values for the elements in the source sequence is larger than <see cref="M:System.Int64.MaxValue" />.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToArray``1(System.IObservable{``0})">
      <summary>
            Creates an array from an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">The source observable sequence to get an array of elements for.</param>
      <returns>An observable sequence containing a single element with an array containing all the elements of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToDictionary``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Creates a dictionary from an observable sequence according to a specified key selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the dictionary key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a dictionary for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <returns>An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToDictionary``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the dictionary key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a dictionary for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="comparer">An equality comparer to compare keys.</param>
      <returns>An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToDictionary``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2})">
      <summary>
            Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the dictionary key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the dictionary value computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a dictionary for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="elementSelector">A transform function to produce a result element value from each element.</param>
      <returns>An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToDictionary``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the dictionary key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the dictionary value computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a dictionary for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="elementSelector">A transform function to produce a result element value from each element.</param>
      <param name="comparer">An equality comparer to compare keys.</param>
      <returns>An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToList``1(System.IObservable{``0})">
      <summary>
            Creates a list from an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">The source observable sequence to get a list of elements for.</param>
      <returns>An observable sequence containing a single element with a list containing all the elements of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToLookup``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Creates a lookup from an observable sequence according to a specified key selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the lookup key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a lookup for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <returns>An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToLookup``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Creates a lookup from an observable sequence according to a specified key selector function, and a comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the lookup key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a lookup for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="comparer">An equality comparer to compare keys.</param>
      <returns>An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToLookup``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2})">
      <summary>
            Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the lookup key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the lookup value computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a lookup for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="elementSelector">A transform function to produce a result element value from each element.</param>
      <returns>An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToLookup``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the lookup key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the lookup value computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to create a lookup for.</param>
      <param name="keySelector">A function to extract a key from each element.</param>
      <param name="elementSelector">A transform function to produce a result element value from each element.</param>
      <param name="comparer">An equality comparer to compare keys.</param>
      <returns>An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>The return type of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Multicast``2(System.IObservable{``0},System.Reactive.Subjects.ISubject{``0,``1})">
      <summary>
            Multicasts the source sequence notifications through the specified subject to the resulting connectable observable. Upon connection of the
            connectable observable, the subject is subscribed to the source exactly one, and messages are forwarded to the observers registered with
            the connectable observable. For specializations with fixed subject types, see Publish, PublishLast, and Replay.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be pushed into the specified subject.</param>
      <param name="subject">Subject to push source elements into.</param>
      <returns>A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="subject" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Multicast``3(System.IObservable{``0},System.Func{System.Reactive.Subjects.ISubject{``0,``1}},System.Func{System.IObservable{``1},System.IObservable{``2}})">
      <summary>
            Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each
            subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's
            invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TIntermediate">The type of the elements produced by the intermediate subject.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence which will be multicasted in the specified selector function.</param>
      <param name="subjectSelector">Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function.</param>
      <param name="selector">Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="subjectSelector" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Publish``1(System.IObservable{``0})">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence.
            This operator is a specialization of Multicast using a regular <see cref="T:System.Reactive.Subjects.Subject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>Subscribers will receive all notifications of the source from the time of the subscription on.</remarks>
      <seealso cref="T:System.Reactive.Subjects.Subject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Publish``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}})">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence.
            This operator is a specialization of Multicast using a regular <see cref="T:System.Reactive.Subjects.Subject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all notifications of the source from the time of the subscription on.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <seealso cref="T:System.Reactive.Subjects.Subject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Publish``1(System.IObservable{``0},``0)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.BehaviorSubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="initialValue">Initial value received by observers upon subscription.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on.</remarks>
      <seealso cref="T:System.Reactive.Subjects.BehaviorSubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Publish``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},``0)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.BehaviorSubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on.</param>
      <param name="initialValue">Initial value received by observers upon subscription.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <seealso cref="T:System.Reactive.Subjects.BehaviorSubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.PublishLast``1(System.IObservable{``0})">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.AsyncSubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>Subscribers will only receive the last notification of the source.</remarks>
      <seealso cref="T:System.Reactive.Subjects.AsyncSubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.PublishLast``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}})">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.AsyncSubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will only receive the last notification of the source.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <seealso cref="T:System.Reactive.Subjects.AsyncSubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.RefCount``1(System.Reactive.Subjects.IConnectableObservable{``0})">
      <summary>
            Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Connectable observable sequence.</param>
      <returns>An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0})">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>Subscribers will receive all the notifications of the source.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="scheduler">Scheduler where connected observers will be invoked on.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>Subscribers will receive all the notifications of the source.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}})">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source.</param>
      <param name="scheduler">Scheduler where connected observers within the selector function will be invoked on.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="scheduler" /> is null.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.TimeSpan)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers will be invoked on.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers within the selector function will be invoked on.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers will be invoked on.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers within the selector function will be invoked on.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.Int32)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.Int32,System.TimeSpan)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.Int32,System.TimeSpan)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``1(System.IObservable{``0},System.Int32,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers will be invoked on.</param>
      <returns>A connectable observable sequence that shares a single subscription to the underlying sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <remarks>Subscribers will receive all the notifications of the source subject to the specified replay buffer trimming policy.</remarks>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Replay``2(System.IObservable{``0},System.Func{System.IObservable{``0},System.IObservable{``1}},System.Int32,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying notifications subject to a maximum time length and element count for the replay buffer.
            This operator is a specialization of Multicast using a <see cref="T:System.Reactive.Subjects.ReplaySubject`1" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence.</typeparam>
      <param name="source">Source sequence whose elements will be multicasted through a single shared subscription.</param>
      <param name="selector">Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers to the given source will receive all the notifications of the source subject to the specified replay buffer trimming policy.</param>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler where connected observers within the selector function will be invoked on.</param>
      <returns>An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <seealso cref="T:System.Reactive.Subjects.ReplaySubject`1" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Chunkify``1(System.IObservable{``0})">
      <summary>
            Produces an enumerable sequence of consecutive (possibly empty) chunks of the source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The enumerable sequence that returns consecutive (possibly empty) chunks upon each iteration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Collect``2(System.IObservable{``0},System.Func{``1},System.Func{``1,``0,``1})">
      <summary>
            Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements produced by the merge operation during collection.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="newCollector">Factory to create a new collector object.</param>
      <param name="merge">Merges a sequence element with the current collector.</param>
      <returns>The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="newCollector" /> or <paramref name="merge" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Collect``2(System.IObservable{``0},System.Func{``1},System.Func{``1,``0,``1},System.Func{``1,``1})">
      <summary>
            Produces an enumerable sequence that returns elements collected/aggregated from the source sequence between consecutive iterations.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements produced by the merge operation during collection.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="getInitialCollector">Factory to create the initial collector object.</param>
      <param name="merge">Merges a sequence element with the current collector.</param>
      <param name="getNewCollector">Factory to replace the current collector by a new collector.</param>
      <returns>The enumerable sequence that returns collected/aggregated elements from the source sequence upon each iteration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="getInitialCollector" /> or <paramref name="merge" /> or <paramref name="getNewCollector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.First``1(System.IObservable{``0})">
      <summary>
            Returns the first element of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The first element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.FirstAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.First``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the first element of an observable sequence that satisfies the condition in the predicate.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The first element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">No element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.FirstAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstOrDefault``1(System.IObservable{``0})">
      <summary>
            Returns the first element of an observable sequence, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The first element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.FirstOrDefaultAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.FirstOrDefault``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the first element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The first element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.FirstOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEach``1(System.IObservable{``0},System.Action{``0})">
      <summary>
            Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>Because of its blocking nature, this operator is mainly used for testing.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ForEach``1(System.IObservable{``0},System.Action{``0,System.Int32})">
      <summary>
            Invokes an action for each element in the observable sequence, incorporating the element's index, and blocks until the sequence is terminated.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
      <remarks>Because of its blocking nature, this operator is mainly used for testing.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GetEnumerator``1(System.IObservable{``0})">
      <summary>
            Returns an enumerator that enumerates all values of the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to get an enumerator for.</param>
      <returns>The enumerator that can be used to enumerate over the elements in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Last``1(System.IObservable{``0})">
      <summary>
            Returns the last element of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The last element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.LastAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Last``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the last element of an observable sequence that satisfies the condition in the predicate.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The last element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">No element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.LastAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastOrDefault``1(System.IObservable{``0})">
      <summary>
            Returns the last element of an observable sequence, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The last element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.LastOrDefaultAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.LastOrDefault``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the last element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The last element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.LastOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Latest``1(System.IObservable{``0})">
      <summary>
            Returns an enumerable sequence whose enumeration returns the latest observed element in the source observable sequence.
            Enumerators on the resulting sequence will never produce the same element repeatedly, and will block until the next element becomes available.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.MostRecent``1(System.IObservable{``0},``0)">
      <summary>
            Returns an enumerable sequence whose enumeration returns the most recently observed element in the source observable sequence, using the specified initial value in case no element has been sampled yet.
            Enumerators on the resulting sequence never block and can produce the same element repeatedly.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="initialValue">Initial value that will be yielded by the enumerable sequence if no element has been sampled yet.</param>
      <returns>The enumerable sequence that returns the last sampled element upon each iteration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Next``1(System.IObservable{``0})">
      <summary>
            Returns an enumerable sequence whose enumeration blocks until the next element in the source observable sequence becomes available.
            Enumerators on the resulting sequence will block until the next element becomes available.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Single``1(System.IObservable{``0})">
      <summary>
            Returns the only element of an observable sequence, and throws an exception if there is not exactly one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The single element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The source sequence contains more than one element. -or- The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.SingleAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Single``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the only element of an observable sequence that satisfies the condition in the predicate, and throws an exception if there is not exactly one element matching the predicate in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The single element in the observable sequence that satisfies the condition in the predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">No element satisfies the condition in the predicate. -or- More than one element satisfies the condition in the predicate. -or- The source sequence is empty.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.SingleAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleOrDefault``1(System.IObservable{``0})">
      <summary>
            Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The single element in the observable sequence, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The source sequence contains more than one element.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.SingleOrDefaultAsync``1(System.IObservable{``0})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.SingleOrDefault``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns the only element of an observable sequence that satisfies the condition in the predicate, or a default value if no such element exists; this method throws an exception if there is more than one element matching the predicate in the observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <param name="predicate">A predicate function to evaluate for elements in the source sequence.</param>
      <returns>The single element in the observable sequence that satisfies the condition in the predicate, or a default value if no such element exists.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The sequence contains more than one element that satisfies the condition in the predicate.</exception>
      <seealso cref="M:System.Reactive.Linq.Observable.SingleOrDefaultAsync``1(System.IObservable{``0},System.Func{``0,System.Boolean})" />
    </member>
    <member name="M:System.Reactive.Linq.Observable.Wait``1(System.IObservable{``0})">
      <summary>
            Waits for the observable sequence to complete and returns the last element of the sequence.
            If the sequence terminates with an OnError notification, the exception is throw.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source observable sequence.</param>
      <returns>The last element in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The source sequence is empty.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ObserveOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Wraps the source sequence in order to run its observer callbacks on the specified scheduler.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="scheduler">Scheduler to notify observers on.</param>
      <returns>The source sequence whose observations happen on the specified scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
            This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects
            that require to be run on a scheduler, use <see cref="M:System.Reactive.Linq.Observable.SubscribeOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ObserveOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)">
      <summary>
            Wraps the source sequence in order to run its observer callbacks on the specified synchronization context.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="context">Synchronization context to notify observers on.</param>
      <returns>The source sequence whose observations happen on the specified synchronization context.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="context" /> is null.</exception>
      <remarks>
            This only invokes observer callbacks on a synchronization context. In case the subscription and/or unsubscription actions have side-effects
            that require to be run on a synchronization context, use <see cref="M:System.Reactive.Linq.Observable.SubscribeOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SubscribeOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used;
            see the remarks section for more information on the distinction between SubscribeOn and ObserveOn.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="scheduler">Scheduler to perform subscription and unsubscription actions on.</param>
      <returns>The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
            This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer
            callbacks on a scheduler, use <see cref="M:System.Reactive.Linq.Observable.ObserveOn``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SubscribeOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)">
      <summary>
            Wraps the source sequence in order to run its subscription and unsubscription logic on the specified synchronization context. This operation is not commonly used;
            see the remarks section for more information on the distinction between SubscribeOn and ObserveOn.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="context">Synchronization context to perform subscription and unsubscription actions on.</param>
      <returns>The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="context" /> is null.</exception>
      <remarks>
            This only performs the side-effects of subscription and unsubscription on the specified synchronization context. In order to invoke observer
            callbacks on a synchronization context, use <see cref="M:System.Reactive.Linq.Observable.ObserveOn``1(System.IObservable{``0},System.Threading.SynchronizationContext)" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Synchronize``1(System.IObservable{``0})">
      <summary>
            Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently.
            This overload is useful to "fix" an observable sequence that exhibits concurrent callbacks on individual observers, which is invalid behavior for the query processor.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <returns>The source sequence whose outgoing calls to observers are synchronized.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>
            It's invalid behavior - according to the observer grammar - for a sequence to exhibit concurrent callbacks on a given observer.
            This operator can be used to "fix" a source that doesn't conform to this rule.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Synchronize``1(System.IObservable{``0},System.Object)">
      <summary>
            Synchronizes the observable sequence such that observer notifications cannot be delivered concurrently, using the specified gate object.
            This overload is useful when writing n-ary query operators, in order to prevent concurrent callbacks from different sources by synchronizing on a common gate object.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="gate">Gate object to synchronize each observer call on.</param>
      <returns>The source sequence whose outgoing calls to observers are synchronized on the given gate object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="gate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Subscribe``1(System.Collections.Generic.IEnumerable{``0},System.IObserver{``0})">
      <summary>
            Subscribes an observer to an enumerable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Enumerable sequence to subscribe to.</param>
      <param name="observer">Observer that will receive notifications from the enumerable sequence.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the enumerable</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Subscribe``1(System.Collections.Generic.IEnumerable{``0},System.IObserver{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Subscribes an observer to an enumerable sequence, using the specified scheduler to run the enumeration loop.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Enumerable sequence to subscribe to.</param>
      <param name="observer">Observer that will receive notifications from the enumerable sequence.</param>
      <param name="scheduler">Scheduler to perform the enumeration on.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the enumerable</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="observer" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToEnumerable``1(System.IObservable{``0})">
      <summary>
            Converts an observable sequence to an enumerable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to convert to an enumerable sequence.</param>
      <returns>The enumerable sequence containing the elements in the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToEvent(System.IObservable{System.Reactive.Unit})">
      <summary>
            Exposes an observable sequence as an object with an Action-based .NET event.
            </summary>
      <param name="source">Observable source sequence.</param>
      <returns>The event source object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToEvent``1(System.IObservable{``0})">
      <summary>
            Exposes an observable sequence as an object with an Action&lt;TSource&gt;-based .NET event.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable source sequence.</param>
      <returns>The event source object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToEventPattern``1(System.IObservable{System.Reactive.EventPattern{``0}})">
      <summary>
            Exposes an observable sequence as an object with a .NET event, conforming to the standard .NET event pattern.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
      <param name="source">Observable source sequence.</param>
      <returns>The event source object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Converts an enumerable sequence to an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Enumerable sequence to convert to an observable sequence.</param>
      <returns>The observable sequence whose elements are pulled from the given enumerable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Converts an enumerable sequence to an observable sequence, using the specified scheduler to run the enumeration loop.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Enumerable sequence to convert to an observable sequence.</param>
      <param name="scheduler">Scheduler to run the enumeration of the input sequence on.</param>
      <returns>The observable sequence whose elements are pulled from the given enumerable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.IDisposable})">
      <summary>
            Creates an observable sequence from a specified Subscribe method implementation.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribe">Implementation of the resulting observable sequence's Subscribe method.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribe" /> is null.</exception>
      <remarks>
            Use of this operator is preferred over manual implementation of the IObservable&lt;T&gt; interface. In case
            you need a type implementing IObservable&lt;T&gt; rather than an anonymous implementation, consider using
            the <see cref="T:System.Reactive.ObservableBase`1" /> abstract base class.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Action})">
      <summary>
            Creates an observable sequence from a specified Subscribe method implementation.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribe">Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribe" /> is null.</exception>
      <remarks>
            Use of this operator is preferred over manual implementation of the IObservable&lt;T&gt; interface. In case
            you need a type implementing IObservable&lt;T&gt; rather than an anonymous implementation, consider using
            the <see cref="T:System.Reactive.ObservableBase`1" /> abstract base class.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task})">
      <summary>
            Creates an observable sequence from a specified cancellable asynchronous Subscribe method.
            The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to produce elements.</param>
      <returns>The observable sequence surfacing the elements produced by the asynchronous method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.Tasks.Task})">
      <summary>
            Creates an observable sequence from a specified asynchronous Subscribe method.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to produce elements.</param>
      <returns>The observable sequence surfacing the elements produced by the asynchronous method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.IDisposable}})">
      <summary>
            Creates an observable sequence from a specified cancellable asynchronous Subscribe method.
            The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to implemented the resulting sequence's Subscribe method.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.Tasks.Task{System.IDisposable}})">
      <summary>
            Creates an observable sequence from a specified asynchronous Subscribe method.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to implemented the resulting sequence's Subscribe method.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.CancellationToken,System.Threading.Tasks.Task{System.Action}})">
      <summary>
            Creates an observable sequence from a specified cancellable asynchronous Subscribe method.
            The CancellationToken passed to the asynchronous Subscribe method is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous subscribe function will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Create``1(System.Func{System.IObserver{``0},System.Threading.Tasks.Task{System.Action}})">
      <summary>
            Creates an observable sequence from a specified asynchronous Subscribe method.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="subscribeAsync">Asynchronous method used to implemented the resulting sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable.</param>
      <returns>The observable sequence with the specified implementation for the Subscribe method.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subscribeAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Defer``1(System.Func{System.IObservable{``0}})">
      <summary>
            Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes.
            </summary>
      <typeparam name="TResult">The type of the elements in the sequence returned by the factory function, and in the resulting sequence.</typeparam>
      <param name="observableFactory">Observable factory function to invoke for each observer that subscribes to the resulting sequence.</param>
      <returns>An observable sequence whose observers trigger an invocation of the given observable factory function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observableFactory" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Defer``1(System.Func{System.Threading.Tasks.Task{System.IObservable{``0}}})">
      <summary>
            Returns an observable sequence that starts the specified asynchronous factory function whenever a new observer subscribes.
            </summary>
      <typeparam name="TResult">The type of the elements in the sequence returned by the factory function, and in the resulting sequence.</typeparam>
      <param name="observableFactoryAsync">Asynchronous factory function to start for each observer that subscribes to the resulting sequence.</param>
      <returns>An observable sequence whose observers trigger the given asynchronous observable factory function to be started.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observableFactoryAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DeferAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{System.IObservable{``0}}})">
      <summary>
            Returns an observable sequence that starts the specified cancellable asynchronous factory function whenever a new observer subscribes.
            The CancellationToken passed to the asynchronous factory function is tied to the returned disposable subscription, allowing best-effort cancellation.
            </summary>
      <typeparam name="TResult">The type of the elements in the sequence returned by the factory function, and in the resulting sequence.</typeparam>
      <param name="observableFactoryAsync">Asynchronous factory function to start for each observer that subscribes to the resulting sequence.</param>
      <returns>An observable sequence whose observers trigger the given asynchronous observable factory function to be started.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observableFactoryAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous observable factory function will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Empty``1">
      <summary>
            Returns an empty observable sequence.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <returns>An observable sequence with no elements.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Empty``1(``0)">
      <summary>
            Returns an empty observable sequence.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="witness">Object solely used to infer the type of the <typeparamref name="TResult" /> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
      <returns>An observable sequence with no elements.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Empty``1(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="scheduler">Scheduler to send the termination call on.</param>
      <returns>An observable sequence with no elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Empty``1(System.Reactive.Concurrency.IScheduler,``0)">
      <summary>
            Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="scheduler">Scheduler to send the termination call on.</param>
      <param name="witness">Object solely used to infer the type of the <typeparamref name="TResult" /> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
      <returns>An observable sequence with no elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1})">
      <summary>
            Generates an observable sequence by running a state-driven loop producing the sequence's elements.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <param name="scheduler">Scheduler on which to run the generator loop.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Never``1">
      <summary>
            Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <returns>An observable sequence whose observers will never get called.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Never``1(``0)">
      <summary>
            Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="witness">Object solely used to infer the type of the <typeparamref name="TResult" /> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
      <returns>An observable sequence whose observers will never get called.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Range(System.Int32,System.Int32)">
      <summary>
            Generates an observable sequence of integral numbers within a specified range.
            </summary>
      <param name="start">The value of the first integer in the sequence.</param>
      <param name="count">The number of sequential integers to generate.</param>
      <returns>An observable sequence that contains a range of sequential integral numbers.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero. -or- <paramref name="start" /> + <paramref name="count" /> - 1 is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Range(System.Int32,System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages.
            </summary>
      <param name="start">The value of the first integer in the sequence.</param>
      <param name="count">The number of sequential integers to generate.</param>
      <param name="scheduler">Scheduler to run the generator loop on.</param>
      <returns>An observable sequence that contains a range of sequential integral numbers.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero. -or- <paramref name="start" /> + <paramref name="count" /> - 1 is larger than <see cref="M:System.Int32.MaxValue" />.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(``0)">
      <summary>
            Generates an observable sequence that repeats the given element infinitely.
            </summary>
      <typeparam name="TResult">The type of the element that will be repeated in the produced sequence.</typeparam>
      <param name="value">Element to repeat.</param>
      <returns>An observable sequence that repeats the given element infinitely.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(``0,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence that repeats the given element infinitely, using the specified scheduler to send out observer messages.
            </summary>
      <typeparam name="TResult">The type of the element that will be repeated in the produced sequence.</typeparam>
      <param name="value">Element to repeat.</param>
      <param name="scheduler">Scheduler to run the producer loop on.</param>
      <returns>An observable sequence that repeats the given element infinitely.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(``0,System.Int32)">
      <summary>
            Generates an observable sequence that repeats the given element the specified number of times.
            </summary>
      <typeparam name="TResult">The type of the element that will be repeated in the produced sequence.</typeparam>
      <param name="value">Element to repeat.</param>
      <param name="repeatCount">Number of times to repeat the element.</param>
      <returns>An observable sequence that repeats the given element the specified number of times.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="repeatCount" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(``0,System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages.
            </summary>
      <typeparam name="TResult">The type of the element that will be repeated in the produced sequence.</typeparam>
      <param name="value">Element to repeat.</param>
      <param name="repeatCount">Number of times to repeat the element.</param>
      <param name="scheduler">Scheduler to run the producer loop on.</param>
      <returns>An observable sequence that repeats the given element the specified number of times.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="repeatCount" /> is less than zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Return``1(``0)">
      <summary>
            Returns an observable sequence that contains a single element.
            </summary>
      <typeparam name="TResult">The type of the element that will be returned in the produced sequence.</typeparam>
      <param name="value">Single element in the resulting observable sequence.</param>
      <returns>An observable sequence containing the single specified element.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Return``1(``0,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages.
            </summary>
      <typeparam name="TResult">The type of the element that will be returned in the produced sequence.</typeparam>
      <param name="value">Single element in the resulting observable sequence.</param>
      <param name="scheduler">Scheduler to send the single element on.</param>
      <returns>An observable sequence containing the single specified element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)">
      <summary>
            Returns an observable sequence that terminates with an exception.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="exception">Exception object used for the sequence's termination.</param>
      <returns>The observable sequence that terminates exceptionally with the specified exception object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throw``1(System.Exception,``0)">
      <summary>
            Returns an observable sequence that terminates with an exception.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="exception">Exception object used for the sequence's termination.</param>
      <param name="witness">Object solely used to infer the type of the <typeparamref name="TResult" /> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
      <returns>The observable sequence that terminates exceptionally with the specified exception object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="exception" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throw``1(System.Exception,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="exception">Exception object used for the sequence's termination.</param>
      <param name="scheduler">Scheduler to send the exceptional termination call on.</param>
      <returns>The observable sequence that terminates exceptionally with the specified exception object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="exception" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throw``1(System.Exception,System.Reactive.Concurrency.IScheduler,``0)">
      <summary>
            Returns an observable sequence that terminates with an exception, using the specified scheduler to send out the single OnError message.
            </summary>
      <typeparam name="TResult">The type used for the IObservable&lt;T&gt; type parameter of the resulting sequence.</typeparam>
      <param name="exception">Exception object used for the sequence's termination.</param>
      <param name="scheduler">Scheduler to send the exceptional termination call on.</param>
      <param name="witness">Object solely used to infer the type of the <typeparamref name="TResult" /> type parameter. This parameter is typically used when creating a sequence of anonymously typed elements.</param>
      <returns>The observable sequence that terminates exceptionally with the specified exception object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="exception" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Using``2(System.Func{``1},System.Func{``1,System.IObservable{``0}})">
      <summary>
            Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="T:System.IDisposable" />.</typeparam>
      <param name="resourceFactory">Factory function to obtain a resource object.</param>
      <param name="observableFactory">Factory function to obtain an observable sequence that depends on the obtained resource.</param>
      <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="resourceFactory" /> or <paramref name="observableFactory" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Using``2(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``1}},System.Func{``1,System.Threading.CancellationToken,System.Threading.Tasks.Task{System.IObservable{``0}}})">
      <summary>
            Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. The resource is obtained and used through asynchronous methods.
            The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage.
            </summary>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="T:System.IDisposable" />.</typeparam>
      <param name="resourceFactoryAsync">Asynchronous factory function to obtain a resource object.</param>
      <param name="observableFactoryAsync">Asynchronous factory function to obtain an observable sequence that depends on the obtained resource.</param>
      <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="resourceFactoryAsync" /> or <paramref name="observableFactoryAsync" /> is null.</exception>
      <remarks>This operator is especially useful in conjunction with the asynchronous programming features introduced in C# 5.0 and Visual Basic 11.</remarks>
      <remarks>When a subscription to the resulting sequence is disposed, the CancellationToken that was fed to the asynchronous resource factory and observable factory functions will be signaled.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.And``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Creates a pattern that matches when both observable sequences have an available element.
            </summary>
      <typeparam name="TLeft">The type of the elements in the left sequence.</typeparam>
      <typeparam name="TRight">The type of the elements in the right sequence.</typeparam>
      <param name="left">Observable sequence to match with the right sequence.</param>
      <param name="right">Observable sequence to match with the left sequence.</param>
      <returns>Pattern object that matches when both observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Then``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Matches when the observable sequence has an available element and projects the element by invoking the selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source">Observable sequence to apply the selector on.</param>
      <param name="selector">Selector that will be invoked for elements in the source sequence.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.When``1(System.Reactive.Joins.Plan{``0}[])">
      <summary>
            Joins together the results from several patterns.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained from the specified patterns.</typeparam>
      <param name="plans">A series of plans created by use of the Then operator on patterns.</param>
      <returns>An observable sequence with the results from matching several patterns.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="plans" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.When``1(System.Collections.Generic.IEnumerable{System.Reactive.Joins.Plan{``0}})">
      <summary>
            Joins together the results from several patterns.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained from the specified patterns.</typeparam>
      <param name="plans">A series of plans created by use of the Then operator on patterns.</param>
      <returns>An observable sequence with the results form matching several patterns.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="plans" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Propagates the observable sequence that reacts first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="first">First observable sequence.</param>
      <param name="second">Second observable sequence.</param>
      <returns>An observable sequence that surfaces either of the given sequences, whichever reacted first.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0}[])">
      <summary>
            Propagates the observable sequence that reacts first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sources competing to react first.</param>
      <returns>An observable sequence that surfaces any of the given sequences, whichever reacted first.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Amb``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Propagates the observable sequence that reacts first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sources competing to react first.</param>
      <returns>An observable sequence that surfaces any of the given sequences, whichever reacted first.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``2(System.IObservable{``0},System.Func{System.IObservable{``1}})">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping buffers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <typeparam name="TBufferClosing">The type of the elements in the sequences indicating buffer closing events.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="bufferClosingSelector">A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="bufferClosingSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``3(System.IObservable{``0},System.IObservable{``1},System.Func{``1,System.IObservable{``2}})">
      <summary>
            Projects each element of an observable sequence into zero or more buffers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <typeparam name="TBufferOpening">The type of the elements in the sequence indicating buffer opening events, also passed to the closing selector to obtain a sequence of buffer closing events.</typeparam>
      <typeparam name="TBufferClosing">The type of the elements in the sequences indicating buffer closing events.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="bufferOpenings">Observable sequence whose elements denote the creation of new buffers.</param>
      <param name="bufferClosingSelector">A function invoked to define the closing of each produced buffer.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="bufferOpenings" /> or <paramref name="bufferClosingSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping buffers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <typeparam name="TBufferBoundary">The type of the elements in the sequences indicating buffer boundary events.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="bufferBoundaries">Sequence of buffer boundary markers. The current buffer is closed and a new buffer is opened upon receiving a boundary marker.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="bufferBoundaries" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Catch``2(System.IObservable{``0},System.Func{``1,System.IObservable{``0}})">
      <summary>
            Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and sequences returned by the exception handler function.</typeparam>
      <typeparam name="TException">The type of the exception to catch and handle. Needs to derive from <see cref="T:System.Exception" />.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="handler">Exception handler function, producing another observable sequence.</param>
      <returns>An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="handler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Catch``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Continues an observable sequence that is terminated by an exception with the next observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and handler sequence.</typeparam>
      <param name="first">First observable sequence whose exception (if any) is caught.</param>
      <param name="second">Second observable sequence used to produce results when an error occurred in the first sequence.</param>
      <returns>An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Catch``1(System.IObservable{``0}[])">
      <summary>
            Continues an observable sequence that is terminated by an exception with the next observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source and handler sequences.</typeparam>
      <param name="sources">Observable sequences to catch exceptions for.</param>
      <returns>An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Catch``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Continues an observable sequence that is terminated by an exception with the next observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source and handler sequences.</typeparam>
      <param name="sources">Observable sequences to catch exceptions for.</param>
      <returns>An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``3(System.IObservable{``0},System.IObservable{``1},System.Func{``0,``1,``2})">
      <summary>
            Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="first">First observable source.</param>
      <param name="second">Second observable source.</param>
      <param name="resultSelector">Function to invoke whenever either of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of both sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``4(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.Func{``0,``1,``2,``3})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``5(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.Func{``0,``1,``2,``3,``4})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``6(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.Func{``0,``1,``2,``3,``4,``5})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``7(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.Func{``0,``1,``2,``3,``4,``5,``6})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``8(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.Func{``0,``1,``2,``3,``4,``5,``6,``7})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``9(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``10(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``11(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``12(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``13(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``14(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``15(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``16(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.IObservable{``14},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="source15">Fifteenth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="source15" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``17(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.IObservable{``14},System.IObservable{``15},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
      <typeparam name="TSource16">The type of the elements in the sixteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="source15">Fifteenth observable source.</param>
      <param name="source16">Sixteenth observable source.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="source15" /> or <paramref name="source16" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``2(System.Collections.Generic.IEnumerable{System.IObservable{``0}},System.Func{System.Collections.Generic.IList{``0},``1})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="sources">Observable sources.</param>
      <param name="resultSelector">Function to invoke whenever any of the sources produces an element. For efficiency, the input list is reused after the selector returns. Either aggregate or copy the values during the function call.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences, and in the lists in the result sequence.</typeparam>
      <param name="sources">Observable sources.</param>
      <returns>An observable sequence containing lists of the latest elements of the sources.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.CombineLatest``1(System.IObservable{``0}[])">
      <summary>
            Merges the specified observable sequences into one observable sequence by emitting a list with the latest source elements whenever any of the observable sequences produces an element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences, and in the lists in the result sequence.</typeparam>
      <param name="sources">Observable sources.</param>
      <returns>An observable sequence containing lists of the latest elements of the sources.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Concat``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Concatenates the second observable sequence to the first observable sequence upon successful termination of the first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="first">First observable sequence.</param>
      <param name="second">Second observable sequence.</param>
      <returns>An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Concat``1(System.IObservable{``0}[])">
      <summary>
            Concatenates all of the specified observable sequences, as long as the previous observable sequence terminated successfully.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences to concatenate.</param>
      <returns>An observable sequence that contains the elements of each given sequence, in sequential order.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Concat``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Concatenates all observable sequences in the given enumerable sequence, as long as the previous observable sequence terminated successfully.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences to concatenate.</param>
      <returns>An observable sequence that contains the elements of each given sequence, in sequential order.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Concat``1(System.IObservable{System.IObservable{``0}})">
      <summary>
            Concatenates all inner observable sequences, as long as the previous observable sequence terminated successfully.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequence of inner observable sequences.</param>
      <returns>An observable sequence that contains the elements of each observed inner sequence, in sequential order.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Concat``1(System.IObservable{System.Threading.Tasks.Task{``0}})">
      <summary>
            Concatenates all task results, as long as the previous task terminated successfully.
            </summary>
      <typeparam name="TSource">The type of the results produced by the tasks.</typeparam>
      <param name="sources">Observable sequence of tasks.</param>
      <returns>An observable sequence that contains the results of each task, in sequential order.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
      <remarks>If the tasks support cancellation, consider manual conversion of the tasks using <see cref="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})" />, followed by a concatenation operation using <see cref="M:System.Reactive.Linq.Observable.Concat``1(System.IObservable{System.IObservable{``0}})" />.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{System.IObservable{``0}})">
      <summary>
            Merges elements from all inner observable sequences into a single observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequence of inner observable sequences.</param>
      <returns>The observable sequence that merges the elements of the inner sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{System.Threading.Tasks.Task{``0}})">
      <summary>
            Merges results from all source tasks into a single observable sequence.
            </summary>
      <typeparam name="TSource">The type of the results produced by the source tasks.</typeparam>
      <param name="sources">Observable sequence of tasks.</param>
      <returns>The observable sequence that merges the results of the source tasks.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
      <remarks>If the tasks support cancellation, consider manual conversion of the tasks using <see cref="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})" />, followed by a merge operation using <see cref="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{System.IObservable{``0}})" />.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{System.IObservable{``0}},System.Int32)">
      <summary>
            Merges elements from all inner observable sequences into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequence of inner observable sequences.</param>
      <param name="maxConcurrent">Maximum number of inner observable sequences being subscribed to concurrently.</param>
      <returns>The observable sequence that merges the elements of the inner sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="maxConcurrent" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}},System.Int32)">
      <summary>
            Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Enumerable sequence of observable sequences.</param>
      <param name="maxConcurrent">Maximum number of observable sequences being subscribed to concurrently.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="maxConcurrent" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}},System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, limiting the number of concurrent subscriptions to inner sequences, and using the specified scheduler for enumeration of and subscription to the sources.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Enumerable sequence of observable sequences.</param>
      <param name="maxConcurrent">Maximum number of observable sequences being subscribed to concurrently.</param>
      <param name="scheduler">Scheduler to run the enumeration of the sequence of sources on.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="maxConcurrent" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Merges elements from two observable sequences into a single observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="first">First observable sequence.</param>
      <param name="second">Second observable sequence.</param>
      <returns>The observable sequence that merges the elements of the given sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{``0},System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Merges elements from two observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="first">First observable sequence.</param>
      <param name="second">Second observable sequence.</param>
      <param name="scheduler">Scheduler used to introduce concurrency for making subscriptions to the given sequences.</param>
      <returns>The observable sequence that merges the elements of the given sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.IObservable{``0}[])">
      <summary>
            Merges elements from all of the specified observable sequences into a single observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.Reactive.Concurrency.IScheduler,System.IObservable{``0}[])">
      <summary>
            Merges elements from all of the specified observable sequences into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences.</param>
      <param name="scheduler">Scheduler to run the enumeration of the sequence of sources on.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> or <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Enumerable sequence of observable sequences.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Merge``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Merges elements from all observable sequences in the given enumerable sequence into a single observable sequence, using the specified scheduler for enumeration of and subscription to the sources.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Enumerable sequence of observable sequences.</param>
      <param name="scheduler">Scheduler to run the enumeration of the sequence of sources on.</param>
      <returns>The observable sequence that merges the elements of the observable sequences.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.OnErrorResumeNext``1(System.IObservable{``0},System.IObservable{``0})">
      <summary>
            Concatenates the second observable sequence to the first observable sequence upon successful or exceptional termination of the first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="first">First observable sequence whose exception (if any) is caught.</param>
      <param name="second">Second observable sequence used to produce results after the first sequence terminates.</param>
      <returns>An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.OnErrorResumeNext``1(System.IObservable{``0}[])">
      <summary>
            Concatenates all of the specified observable sequences, even if the previous observable sequence terminated exceptionally.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences to concatenate.</param>
      <returns>An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.OnErrorResumeNext``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Concatenates all observable sequences in the given enumerable sequence, even if the previous observable sequence terminated exceptionally.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequences to concatenate.</param>
      <returns>An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipUntil``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Returns the elements from the source observable sequence only after the other observable sequence produces an element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TOther">The type of the elements in the other sequence that indicates the end of skip behavior.</typeparam>
      <param name="source">Source sequence to propagate elements for.</param>
      <param name="other">Observable sequence that triggers propagation of elements of the source sequence.</param>
      <returns>An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Switch``1(System.IObservable{System.IObservable{``0}})">
      <summary>
            Switches between the inner observable sequences such that the resulting sequence always produces elements from the most recently received inner observable sequence.
            Each time a new inner observable sequence is received, the previous inner observable sequence is unsubscribed from.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <param name="sources">Observable sequence of inner observable sequences.</param>
      <returns>The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Switch``1(System.IObservable{System.Threading.Tasks.Task{``0}})">
      <summary>
            Switches between the tasks such that the resulting sequence always produces results from the most recently received task.
            Each time a new task is received, the previous task's result is ignored.
            </summary>
      <typeparam name="TSource">The type of the results produced by the source tasks.</typeparam>
      <param name="sources">Observable sequence of tasks.</param>
      <returns>The observable sequence that at any point in time produces the result of the most recent task that has been received.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
      <remarks>If the tasks support cancellation, consider manual conversion of the tasks using <see cref="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})" />, followed by a switch operation using <see cref="M:System.Reactive.Linq.Observable.Switch``1(System.IObservable{System.IObservable{``0}})" />.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeUntil``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Returns the elements from the source observable sequence until the other observable sequence produces an element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TOther">The type of the elements in the other sequence that indicates the end of take behavior.</typeparam>
      <param name="source">Source sequence to propagate elements for.</param>
      <param name="other">Observable sequence that terminates propagation of elements of the source sequence.</param>
      <returns>An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``2(System.IObservable{``0},System.Func{System.IObservable{``1}})">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping windows.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <typeparam name="TWindowClosing">The type of the elements in the sequences indicating window closing events.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="windowClosingSelector">A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="windowClosingSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``3(System.IObservable{``0},System.IObservable{``1},System.Func{``1,System.IObservable{``2}})">
      <summary>
            Projects each element of an observable sequence into zero or more windows.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <typeparam name="TWindowOpening">The type of the elements in the sequence indicating window opening events, also passed to the closing selector to obtain a sequence of window closing events.</typeparam>
      <typeparam name="TWindowClosing">The type of the elements in the sequences indicating window closing events.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="windowOpenings">Observable sequence whose elements denote the creation of new windows.</param>
      <param name="windowClosingSelector">A function invoked to define the closing of each produced window.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="windowOpenings" /> or <paramref name="windowClosingSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping windows.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <typeparam name="TWindowBoundary">The type of the elements in the sequences indicating window boundary events.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="windowBoundaries">Sequence of window boundary markers. The current window is closed and a new window is opened upon receiving a boundary marker.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="windowBoundaries" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``3(System.IObservable{``0},System.IObservable{``1},System.Func{``0,``1,``2})">
      <summary>
            Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="first">First observable source.</param>
      <param name="second">Second observable source.</param>
      <param name="resultSelector">Function to invoke for each consecutive pair of elements from the first and second source.</param>
      <returns>An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``4(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.Func{``0,``1,``2,``3})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``5(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.Func{``0,``1,``2,``3,``4})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``6(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.Func{``0,``1,``2,``3,``4,``5})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``7(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.Func{``0,``1,``2,``3,``4,``5,``6})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``8(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.Func{``0,``1,``2,``3,``4,``5,``6,``7})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``9(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``10(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``11(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``12(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``13(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``14(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``15(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``16(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.IObservable{``14},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="source15">Fifteenth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="source15" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``17(System.IObservable{``0},System.IObservable{``1},System.IObservable{``2},System.IObservable{``3},System.IObservable{``4},System.IObservable{``5},System.IObservable{``6},System.IObservable{``7},System.IObservable{``8},System.IObservable{``9},System.IObservable{``10},System.IObservable{``11},System.IObservable{``12},System.IObservable{``13},System.IObservable{``14},System.IObservable{``15},System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
      <typeparam name="TSource16">The type of the elements in the sixteenth source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="source1">First observable source.</param>
      <param name="source2">Second observable source.</param>
      <param name="source3">Third observable source.</param>
      <param name="source4">Fourth observable source.</param>
      <param name="source5">Fifth observable source.</param>
      <param name="source6">Sixth observable source.</param>
      <param name="source7">Seventh observable source.</param>
      <param name="source8">Eighth observable source.</param>
      <param name="source9">Ninth observable source.</param>
      <param name="source10">Tenth observable source.</param>
      <param name="source11">Eleventh observable source.</param>
      <param name="source12">Twelfth observable source.</param>
      <param name="source13">Thirteenth observable source.</param>
      <param name="source14">Fourteenth observable source.</param>
      <param name="source15">Fifteenth observable source.</param>
      <param name="source16">Sixteenth observable source.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source1" /> or <paramref name="source2" /> or <paramref name="source3" /> or <paramref name="source4" /> or <paramref name="source5" /> or <paramref name="source6" /> or <paramref name="source7" /> or <paramref name="source8" /> or <paramref name="source9" /> or <paramref name="source10" /> or <paramref name="source11" /> or <paramref name="source12" /> or <paramref name="source13" /> or <paramref name="source14" /> or <paramref name="source15" /> or <paramref name="source16" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``2(System.Collections.Generic.IEnumerable{System.IObservable{``0}},System.Func{System.Collections.Generic.IList{``0},``1})">
      <summary>
            Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="sources">Observable sources.</param>
      <param name="resultSelector">Function to invoke for each series of elements at corresponding indexes in the sources.</param>
      <returns>An observable sequence containing the result of combining elements of the sources using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``1(System.Collections.Generic.IEnumerable{System.IObservable{``0}})">
      <summary>
            Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences, and in the lists in the result sequence.</typeparam>
      <param name="sources">Observable sources.</param>
      <returns>An observable sequence containing lists of elements at corresponding indexes.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``1(System.IObservable{``0}[])">
      <summary>
            Merges the specified observable sequences into one observable sequence by emitting a list with the elements of the observable sequences at corresponding indexes.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequences, and in the lists in the result sequence.</typeparam>
      <param name="sources">Observable sources.</param>
      <returns>An observable sequence containing lists of elements at corresponding indexes.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sources" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Zip``3(System.IObservable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
      <summary>
            Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first observable source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second enumerable source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="first">First observable source.</param>
      <param name="second">Second enumerable source.</param>
      <param name="resultSelector">Function to invoke for each consecutive pair of elements from the first and second source.</param>
      <returns>An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="first" /> or <paramref name="second" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.AsObservable``1(System.IObservable{``0})">
      <summary>
            Hides the identity of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence whose identity to hide.</param>
      <returns>An observable sequence that hides the identity of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.Int32)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="count">Length of each buffer.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.Int32,System.Int32)">
      <summary>
            Projects each element of an observable sequence into zero or more buffers which are produced based on element count information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="count">Length of each buffer.</param>
      <param name="skip">Number of elements to skip between creation of consecutive buffers.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> or <paramref name="skip" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Dematerialize``1(System.IObservable{System.Reactive.Notification{``0}})">
      <summary>
            Dematerializes the explicit notification values of an observable sequence as implicit notifications.
            </summary>
      <typeparam name="TSource">The type of the elements materialized in the source sequence notification objects.</typeparam>
      <param name="source">An observable sequence containing explicit notification values which have to be turned into implicit notifications.</param>
      <returns>An observable sequence exhibiting the behavior corresponding to the source sequence's notification values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DistinctUntilChanged``1(System.IObservable{``0})">
      <summary>
            Returns an observable sequence that contains only distinct contiguous elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct contiguous elements for.</param>
      <returns>An observable sequence only containing the distinct contiguous elements from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DistinctUntilChanged``1(System.IObservable{``0},System.Collections.Generic.IEqualityComparer{``0})">
      <summary>
            Returns an observable sequence that contains only distinct contiguous elements according to the comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct contiguous elements for.</param>
      <param name="comparer">Equality comparer for source elements.</param>
      <returns>An observable sequence only containing the distinct contiguous elements from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DistinctUntilChanged``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Returns an observable sequence that contains only distinct contiguous elements according to the keySelector.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the discriminator key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct contiguous elements for, based on a computed key value.</param>
      <param name="keySelector">A function to compute the comparison key for each element.</param>
      <returns>An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DistinctUntilChanged``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the discriminator key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct contiguous elements for, based on a computed key value.</param>
      <param name="keySelector">A function to compute the comparison key for each element.</param>
      <param name="comparer">Equality comparer for computed key values.</param>
      <returns>An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Do``1(System.IObservable{``0},System.Action{``0})">
      <summary>
            Invokes an action for each element in the observable sequence, and propagates all observer messages through the result sequence.
            This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <returns>The source sequence with the side-effecting behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Do``1(System.IObservable{``0},System.Action{``0},System.Action)">
      <summary>
            Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence.
            This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <returns>The source sequence with the side-effecting behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Do``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception})">
      <summary>
            Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence.
            This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <returns>The source sequence with the side-effecting behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Do``1(System.IObservable{``0},System.Action{``0},System.Action{System.Exception},System.Action)">
      <summary>
            Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence.
            This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="onNext">Action to invoke for each element in the observable sequence.</param>
      <param name="onError">Action to invoke upon exceptional termination of the observable sequence.</param>
      <param name="onCompleted">Action to invoke upon graceful termination of the observable sequence.</param>
      <returns>The source sequence with the side-effecting behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Do``1(System.IObservable{``0},System.IObserver{``0})">
      <summary>
            Invokes the observer's methods for each message in the source sequence.
            This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="observer">Observer whose methods to invoke as part of the source sequence's observation.</param>
      <returns>The source sequence with the side-effecting behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Finally``1(System.IObservable{``0},System.Action)">
      <summary>
            Invokes a specified action after the source observable sequence terminates gracefully or exceptionally.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="finallyAction">Action to invoke after the source observable sequence terminates.</param>
      <returns>Source sequence with the action-invoking termination behavior applied.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="finallyAction" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.IgnoreElements``1(System.IObservable{``0})">
      <summary>
            Ignores all elements in an observable sequence leaving only the termination messages.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <returns>An empty observable sequence that signals termination, successful or exceptional, of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Materialize``1(System.IObservable{``0})">
      <summary>
            Materializes the implicit notifications of an observable sequence as explicit notification values.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to get notification values for.</param>
      <returns>An observable sequence containing the materialized notification values from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(System.IObservable{``0})">
      <summary>
            Repeats the observable sequence indefinitely.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to repeat.</param>
      <returns>The observable sequence producing the elements of the given sequence repeatedly and sequentially.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Repeat``1(System.IObservable{``0},System.Int32)">
      <summary>
            Repeats the observable sequence a specified number of times.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to repeat.</param>
      <param name="repeatCount">Number of times to repeat the sequence.</param>
      <returns>The observable sequence producing the elements of the given sequence repeatedly.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="repeatCount" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Retry``1(System.IObservable{``0})">
      <summary>
            Repeats the source observable sequence until it successfully terminates.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to repeat until it successfully terminates.</param>
      <returns>An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Retry``1(System.IObservable{``0},System.Int32)">
      <summary>
            Repeats the source observable sequence the specified number of times or until it successfully terminates.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Observable sequence to repeat until it successfully terminates.</param>
      <param name="retryCount">Number of times to repeat the sequence.</param>
      <returns>An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="retryCount" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Scan``2(System.IObservable{``0},``1,System.Func{``1,``0,``1})">
      <summary>
            Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value.
            For aggregation behavior with no intermediate results, see <see cref="M:System.Reactive.Linq.Observable.Aggregate``2(System.IObservable{``0},``1,System.Func{``1,``0,``1})" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TAccumulate">The type of the result of the aggregation.</typeparam>
      <param name="source">An observable sequence to accumulate over.</param>
      <param name="seed">The initial accumulator value.</param>
      <param name="accumulator">An accumulator function to be invoked on each element.</param>
      <returns>An observable sequence containing the accumulated values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="accumulator" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Scan``1(System.IObservable{``0},System.Func{``0,``0,``0})">
      <summary>
            Applies an accumulator function over an observable sequence and returns each intermediate result.
            For aggregation behavior with no intermediate results, see <see cref="M:System.Reactive.Linq.Observable.Aggregate``1(System.IObservable{``0},System.Func{``0,``0,``0})" />.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the result of the aggregation.</typeparam>
      <param name="source">An observable sequence to accumulate over.</param>
      <param name="accumulator">An accumulator function to be invoked on each element.</param>
      <returns>An observable sequence containing the accumulated values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="accumulator" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipLast``1(System.IObservable{``0},System.Int32)">
      <summary>
            Bypasses a specified number of elements at the end of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="count">Number of elements to bypass at the end of the source sequence.</param>
      <returns>An observable sequence containing the source sequence elements except for the bypassed ones at the end.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
      <remarks>
            This operator accumulates a queue with a length enough to store the first <paramref name="count" /> elements. As more elements are
            received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartWith``1(System.IObservable{``0},``0[])">
      <summary>
            Prepends a sequence of values to an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to prepend values to.</param>
      <param name="values">Values to prepend to the specified sequence.</param>
      <returns>The source sequence prepended with the specified values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="values" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartWith``1(System.IObservable{``0},System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Prepends a sequence of values to an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to prepend values to.</param>
      <param name="values">Values to prepend to the specified sequence.</param>
      <returns>The source sequence prepended with the specified values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="values" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartWith``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler,``0[])">
      <summary>
            Prepends a sequence of values to an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to prepend values to.</param>
      <param name="scheduler">Scheduler to emit the prepended values on.</param>
      <param name="values">Values to prepend to the specified sequence.</param>
      <returns>The source sequence prepended with the specified values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> or <paramref name="values" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.StartWith``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler,System.Collections.Generic.IEnumerable{``0})">
      <summary>
            Prepends a sequence of values to an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to prepend values to.</param>
      <param name="scheduler">Scheduler to emit the prepended values on.</param>
      <param name="values">Values to prepend to the specified sequence.</param>
      <returns>The source sequence prepended with the specified values.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> or <paramref name="values" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLast``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns a specified number of contiguous elements from the end of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="count">Number of elements to take from the end of the source sequence.</param>
      <returns>An observable sequence containing the specified number of elements from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements <paramref name="count" /> elements. Upon completion of
            the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLast``1(System.IObservable{``0},System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a specified number of contiguous elements from the end of an observable sequence, using the specified scheduler to drain the queue.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="count">Number of elements to take from the end of the source sequence.</param>
      <param name="scheduler">Scheduler used to drain the queue upon completion of the source sequence.</param>
      <returns>An observable sequence containing the specified number of elements from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements <paramref name="count" /> elements. Upon completion of
            the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLastBuffer``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns a list with the specified number of contiguous elements from the end of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence.</param>
      <param name="count">Number of elements to take from the end of the source sequence.</param>
      <returns>An observable sequence containing a single list with the specified number of elements from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store <paramref name="count" /> elements. Upon completion of the
            source sequence, this buffer is produced on the result sequence.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.Int32)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="count">Length of each window.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.Int32,System.Int32)">
      <summary>
            Projects each element of an observable sequence into zero or more windows which are produced based on element count information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="count">Length of each window.</param>
      <param name="skip">Number of elements to skip between creation of consecutive windows.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> or <paramref name="skip" /> is less than or equal to zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Cast``1(System.IObservable{System.Object})">
      <summary>
            Converts the elements of an observable sequence to the specified type.
            </summary>
      <typeparam name="TResult">The type to convert the elements in the source sequence to.</typeparam>
      <param name="source">The observable sequence that contains the elements to be converted.</param>
      <returns>An observable sequence that contains each element of the source sequence converted to the specified type.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DefaultIfEmpty``1(System.IObservable{``0})">
      <summary>
            Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence (if any), whose default value will be taken if the sequence is empty.</typeparam>
      <param name="source">The sequence to return a default value for if it is empty.</param>
      <returns>An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DefaultIfEmpty``1(System.IObservable{``0},``0)">
      <summary>
            Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence (if any), and the specified default value which will be taken if the sequence is empty.</typeparam>
      <param name="source">The sequence to return the specified value for if it is empty.</param>
      <param name="defaultValue">The value to return if the sequence is empty.</param>
      <returns>An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Distinct``1(System.IObservable{``0})">
      <summary>
            Returns an observable sequence that contains only distinct elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct elements for.</param>
      <returns>An observable sequence only containing the distinct elements from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Distinct``1(System.IObservable{``0},System.Collections.Generic.IEqualityComparer{``0})">
      <summary>
            Returns an observable sequence that contains only distinct elements according to the comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct elements for.</param>
      <param name="comparer">Equality comparer for source elements.</param>
      <returns>An observable sequence only containing the distinct elements from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Distinct``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Returns an observable sequence that contains only distinct elements according to the keySelector.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the discriminator key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct elements for.</param>
      <param name="keySelector">A function to compute the comparison key for each element.</param>
      <returns>An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
      <remarks>Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Distinct``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the discriminator key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence to retain distinct elements for.</param>
      <param name="keySelector">A function to compute the comparison key for each element.</param>
      <param name="comparer">Equality comparer for source elements.</param>
      <returns>An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
      <remarks>Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupBy``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupBy``2(System.IObservable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function and comparer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="comparer">An equality comparer to compare keys with.</param>
      <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupBy``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2})">
      <summary>
            Groups the elements of an observable sequence and selects the resulting elements by using a specified function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
      <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupBy``3(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
      <param name="comparer">An equality comparer to compare keys with.</param>
      <returns>A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupByUntil``4(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{System.Reactive.Linq.IGroupedObservable{``1,``2},System.IObservable{``3}},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.
            A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
            key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
      <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
      <param name="durationSelector">A function to signal the expiration of a group.</param>
      <param name="comparer">An equality comparer to compare keys with.</param>
      <returns>
            A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
            If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encountered.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="durationSelector" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupByUntil``4(System.IObservable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{System.Reactive.Linq.IGroupedObservable{``1,``2},System.IObservable{``3}})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function.
            A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
            key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TElement">The type of the elements within the groups computed for each element in the source sequence.</typeparam>
      <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="elementSelector">A function to map each source element to an element in an observable group.</param>
      <param name="durationSelector">A function to signal the expiration of a group.</param>
      <returns>
            A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
            If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="elementSelector" /> or <paramref name="durationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupByUntil``3(System.IObservable{``0},System.Func{``0,``1},System.Func{System.Reactive.Linq.IGroupedObservable{``1,``0},System.IObservable{``2}},System.Collections.Generic.IEqualityComparer{``1})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function and comparer.
            A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
            key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="durationSelector">A function to signal the expiration of a group.</param>
      <param name="comparer">An equality comparer to compare keys with.</param>
      <returns>
            A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
            If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="durationSelector" /> or <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupByUntil``3(System.IObservable{``0},System.Func{``0,``1},System.Func{System.Reactive.Linq.IGroupedObservable{``1,``0},System.IObservable{``2}})">
      <summary>
            Groups the elements of an observable sequence according to a specified key selector function.
            A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same
            key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TKey">The type of the grouping key computed for each element in the source sequence.</typeparam>
      <typeparam name="TDuration">The type of the elements in the duration sequences obtained for each group to denote its lifetime.</typeparam>
      <param name="source">An observable sequence whose elements to group.</param>
      <param name="keySelector">A function to extract the key for each element.</param>
      <param name="durationSelector">A function to signal the expiration of a group.</param>
      <returns>
            A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.
            If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.
            </returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="keySelector" /> or <paramref name="durationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.GroupJoin``5(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``2}},System.Func{``1,System.IObservable{``3}},System.Func{``0,System.IObservable{``1},``4})">
      <summary>
            Correlates the elements of two sequences based on overlapping durations, and groups the results.
            </summary>
      <typeparam name="TLeft">The type of the elements in the left source sequence.</typeparam>
      <typeparam name="TRight">The type of the elements in the right source sequence.</typeparam>
      <typeparam name="TLeftDuration">The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence.</typeparam>
      <typeparam name="TRightDuration">The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration.</typeparam>
      <param name="left">The left observable sequence to join elements for.</param>
      <param name="right">The right observable sequence to join elements for.</param>
      <param name="leftDurationSelector">A function to select the duration of each element of the left observable sequence, used to determine overlap.</param>
      <param name="rightDurationSelector">A function to select the duration of each element of the right observable sequence, used to determine overlap.</param>
      <param name="resultSelector">A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence.</param>
      <returns>An observable sequence that contains result elements computed from source elements that have an overlapping duration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> or <paramref name="leftDurationSelector" /> or <paramref name="rightDurationSelector" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Join``5(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``2}},System.Func{``1,System.IObservable{``3}},System.Func{``0,``1,``4})">
      <summary>
            Correlates the elements of two sequences based on overlapping durations.
            </summary>
      <typeparam name="TLeft">The type of the elements in the left source sequence.</typeparam>
      <typeparam name="TRight">The type of the elements in the right source sequence.</typeparam>
      <typeparam name="TLeftDuration">The type of the elements in the duration sequence denoting the computed duration of each element in the left source sequence.</typeparam>
      <typeparam name="TRightDuration">The type of the elements in the duration sequence denoting the computed duration of each element in the right source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by invoking the result selector function for source elements with overlapping duration.</typeparam>
      <param name="left">The left observable sequence to join elements for.</param>
      <param name="right">The right observable sequence to join elements for.</param>
      <param name="leftDurationSelector">A function to select the duration of each element of the left observable sequence, used to determine overlap.</param>
      <param name="rightDurationSelector">A function to select the duration of each element of the right observable sequence, used to determine overlap.</param>
      <param name="resultSelector">A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences.</param>
      <returns>An observable sequence that contains result elements computed from source elements that have an overlapping duration.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> or <paramref name="leftDurationSelector" /> or <paramref name="rightDurationSelector" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.OfType``1(System.IObservable{System.Object})">
      <summary>
            Filters the elements of an observable sequence based on the specified type.
            </summary>
      <typeparam name="TResult">The type to filter the elements in the source sequence on.</typeparam>
      <param name="source">The observable sequence that contains the elements to be filtered.</param>
      <returns>An observable sequence that contains elements from the input sequence of type TResult.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Select``2(System.IObservable{``0},System.Func{``0,``1})">
      <summary>
            Projects each element of an observable sequence into a new form.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
      <param name="source">A sequence of elements to invoke a transform function on.</param>
      <param name="selector">A transform function to apply to each source element.</param>
      <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Select``2(System.IObservable{``0},System.Func{``0,System.Int32,``1})">
      <summary>
            Projects each element of an observable sequence into a new form by incorporating the element's index.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by running the selector function for each element in the source sequence.</typeparam>
      <param name="source">A sequence of elements to invoke a transform function on.</param>
      <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence whose elements are the result of invoking the transform function on each element of source.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Projects each element of the source observable sequence to the other observable sequence and merges the resulting observable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TOther">The type of the elements in the other sequence and the elements in the result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="other">An observable sequence to project each element from the source sequence onto.</param>
      <returns>An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Int32,System.IObservable{``1}})">
      <summary>
            Projects each element of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
      <summary>
            Projects each element of an observable sequence to a task and merges all of the task results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
      <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Threading.CancellationToken,System.Threading.Tasks.Task{``1}})">
      <summary>
            Projects each element of an observable sequence to a task with cancellation support and merges all of the task results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the result produced by the projected tasks and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence whose elements are the result of the tasks executed for each element of the input sequence.</returns>
      <remarks>This overload supports composition of observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.IObservable{``1}},System.Func{``0,``1,``2})">
      <summary>
            Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="collectionSelector">A transform function to apply to each element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.Int32,System.IObservable{``1}},System.Func{``0,System.Int32,``1,System.Int32,``2})">
      <summary>
            Projects each element of an observable sequence to an observable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TCollection">The type of the elements in the projected intermediate sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="collectionSelector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{``0,``1,``2})">
      <summary>
            Projects each element of an observable sequence to a task, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="taskSelector">A transform function to apply to each element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
      <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.Threading.CancellationToken,System.Threading.Tasks.Task{``1}},System.Func{``0,``1,``2})">
      <summary>
            Projects each element of an observable sequence to a task with cancellation support, invokes the result selector for the source element and the task result, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TTaskResult">The type of the results produced by the projected intermediate tasks.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate task results.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="taskSelector">A transform function to apply to each element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of obtaining a task for each element of the input sequence and then mapping the task's result and its corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="taskSelector" /> or <paramref name="resultSelector" /> is null.</exception>
      <remarks>This overload supports using LINQ query comprehension syntax in C# and Visual Basic to compose observable sequences and tasks, without requiring manual conversion of the tasks to observable sequences using <see cref="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})" />.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}},System.Func{System.Exception,System.IObservable{``1}},System.Func{System.IObservable{``1}})">
      <summary>
            Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of notifications to project.</param>
      <param name="onNext">A transform function to apply to each element.</param>
      <param name="onError">A transform function to apply when an error occurs in the source sequence.</param>
      <param name="onCompleted">A transform function to apply when the end of the source sequence is reached.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Int32,System.IObservable{``1}},System.Func{System.Exception,System.Int32,System.IObservable{``1}},System.Func{System.Int32,System.IObservable{``1}})">
      <summary>
            Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of notifications to project.</param>
      <param name="onNext">A transform function to apply to each element; the second parameter represents the index of the source element.</param>
      <param name="onError">A transform function to apply when an error occurs in the source sequence; the second parameter represents the index of the source element.</param>
      <param name="onCompleted">A transform function to apply when the end of the source sequence is reached; the second parameter represents the number of elements observed.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="onNext" /> or <paramref name="onError" /> or <paramref name="onCompleted" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
      <summary>
            Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each element.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``2(System.IObservable{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}})">
      <summary>
            Projects each element of an observable sequence to an enumerable sequence and concatenates the resulting enumerable sequences into one observable sequence.
            The index of each source element is used in the projected form of that element. 
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the projected inner enumerable sequences and the elements in the merged result sequence.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="selector">A transform function to apply to each source element; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="selector" /> is null.</exception>
      <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
      <summary>
            Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="collectionSelector">A transform function to apply to each element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
      <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SelectMany``3(System.IObservable{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,System.Int32,``1,System.Int32,``2})">
      <summary>
            Projects each element of an observable sequence to an enumerable sequence, invokes the result selector for the source element and each of the corresponding inner sequence's elements, and merges the results into one observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TCollection">The type of the elements in the projected intermediate enumerable sequences.</typeparam>
      <typeparam name="TResult">The type of the elements in the result sequence, obtained by using the selector to combine source sequence elements with their corresponding intermediate sequence elements.</typeparam>
      <param name="source">An observable sequence of elements to project.</param>
      <param name="collectionSelector">A transform function to apply to each element; the second parameter of the function represents the index of the source element.</param>
      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
      <returns>An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="collectionSelector" /> or <paramref name="resultSelector" /> is null.</exception>
      <remarks>The projected sequences are enumerated synchonously within the OnNext call of the source sequence. In order to do a concurrent, non-blocking merge, change the selector to return an observable sequence obtained using the <see cref="M:System.Reactive.Linq.Observable.ToObservable``1(System.Collections.Generic.IEnumerable{``0})" /> conversion.</remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Skip``1(System.IObservable{``0},System.Int32)">
      <summary>
            Bypasses a specified number of elements in an observable sequence and then returns the remaining elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">The sequence to take elements from.</param>
      <param name="count">The number of elements to skip before returning the remaining elements.</param>
      <returns>An observable sequence that contains the elements that occur after the specified index in the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipWhile``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to return elements from.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipWhile``1(System.IObservable{``0},System.Func{``0,System.Int32,System.Boolean})">
      <summary>
            Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements.
            The element's index is used in the logic of the predicate function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence to return elements from.</param>
      <param name="predicate">A function to test each element for a condition; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Take``1(System.IObservable{``0},System.Int32)">
      <summary>
            Returns a specified number of contiguous elements from the start of an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">The sequence to take elements from.</param>
      <param name="count">The number of elements to return.</param>
      <returns>An observable sequence that contains the specified number of elements from the start of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Take``1(System.IObservable{``0},System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of Take(0).
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">The sequence to take elements from.</param>
      <param name="count">The number of elements to return.</param>
      <param name="scheduler">Scheduler used to produce an OnCompleted message in case <paramref name="count">count</paramref> is set to 0.</param>
      <returns>An observable sequence that contains the specified number of elements from the start of the input sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="count" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeWhile``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Returns elements from an observable sequence as long as a specified condition is true.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence to return elements from.</param>
      <param name="predicate">A function to test each element for a condition.</param>
      <returns>An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeWhile``1(System.IObservable{``0},System.Func{``0,System.Int32,System.Boolean})">
      <summary>
            Returns elements from an observable sequence as long as a specified condition is true.
            The element's index is used in the logic of the predicate function.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">A sequence to return elements from.</param>
      <param name="predicate">A function to test each element for a condition; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Where``1(System.IObservable{``0},System.Func{``0,System.Boolean})">
      <summary>
            Filters the elements of an observable sequence based on a predicate.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to filter.</param>
      <param name="predicate">A function to test each source element for a condition.</param>
      <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Where``1(System.IObservable{``0},System.Func{``0,System.Int32,System.Boolean})">
      <summary>
            Filters the elements of an observable sequence based on a predicate by incorporating the element's index.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">An observable sequence whose elements to filter.</param>
      <param name="predicate">A function to test each source element for a conditio; the second parameter of the function represents the index of the source element.</param>
      <returns>An observable sequence that contains elements from the input sequence that satisfy the condition.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="predicate" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Length of each buffer.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Length of each buffer.</param>
      <param name="scheduler">Scheduler to run buffering timers on.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan,System.TimeSpan)">
      <summary>
            Projects each element of an observable sequence into zero or more buffers which are produced based on timing information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Length of each buffer.</param>
      <param name="timeShift">Interval between creation of consecutive buffers.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> or <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers with minimum duration
            length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the
            current buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeShift" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler,
            where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into zero or more buffers which are produced based on timing information, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Length of each buffer.</param>
      <param name="timeShift">Interval between creation of consecutive buffers.</param>
      <param name="scheduler">Scheduler to run buffering timers on.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> or <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers with minimum duration
            length. However, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the
            current buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeShift" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            However, this doesn't mean all buffers will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler,
            where the action to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan,System.Int32)">
      <summary>
            Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed.
            A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Maximum time length of a window.</param>
      <param name="count">Maximum element count of a window.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero. -or- <paramref name="count" /> is less than or equal to zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Buffer``1(System.IObservable{``0},System.TimeSpan,System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers.
            A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the lists in the result sequence.</typeparam>
      <param name="source">Source sequence to produce buffers over.</param>
      <param name="timeSpan">Maximum time length of a buffer.</param>
      <param name="count">Maximum element count of a buffer.</param>
      <param name="scheduler">Scheduler to run buffering timers on.</param>
      <returns>An observable sequence of buffers.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero. -or- <paramref name="count" /> is less than or equal to zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create buffers as fast as it can.
            Because all source sequence elements end up in one of the buffers, some buffers won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current buffer and to create a new buffer may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Time shifts the observable sequence by the specified relative time duration.
            The relative time intervals between the values are preserved.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="dueTime">Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator is less efficient than <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan)">DelaySubscription</see> because it records all notifications and time-delays those. This allows for immediate propagation of errors.
            </para>
        <para>
            Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn.
            </para>
        <para>
            Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
            In order to delay error propagation, consider using the <see cref="M:System.Reactive.Linq.Observable.Materialize``1(System.IObservable{``0})">Observable.Materialize</see> and <see cref="M:System.Reactive.Linq.Observable.Dematerialize``1(System.IObservable{System.Reactive.Notification{``0}})">Observable.Dematerialize</see> operators, or use <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan)">DelaySubscription</see>.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Time shifts the observable sequence by the specified relative time duration, using the specified scheduler to run timers.
            The relative time intervals between the values are preserved.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="dueTime">Relative time by which to shift the observable sequence. If this value is equal to TimeSpan.Zero, the scheduler will dispatch observer callbacks as soon as possible.</param>
      <param name="scheduler">Scheduler to run the delay timers on.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator is less efficient than <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">DelaySubscription</see> because it records all notifications and time-delays those. This allows for immediate propagation of errors.
            </para>
        <para>
            Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn.
            </para>
        <para>
            Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
            </para>
        <para>
            Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
            In order to delay error propagation, consider using the <see cref="M:System.Reactive.Linq.Observable.Materialize``1(System.IObservable{``0})">Observable.Materialize</see> and <see cref="M:System.Reactive.Linq.Observable.Dematerialize``1(System.IObservable{System.Reactive.Notification{``0}})">Observable.Dematerialize</see> operators, or use <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">DelaySubscription</see>.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.DateTimeOffset)">
      <summary>
            Time shifts the observable sequence to start propagating notifications at the specified absolute time.
            The relative time intervals between the values are preserved.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="dueTime">Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>
        <para>
            This operator is less efficient than <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset)">DelaySubscription</see> because it records all notifications and time-delays those. This allows for immediate propagation of errors.
            </para>
        <para>
            Observer callbacks for the resulting sequence will be run on the default scheduler. This effect is similar to using ObserveOn.
            </para>
        <para>
            Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
            In order to delay error propagation, consider using the <see cref="M:System.Reactive.Linq.Observable.Materialize``1(System.IObservable{``0})">Observable.Materialize</see> and <see cref="M:System.Reactive.Linq.Observable.Dematerialize``1(System.IObservable{System.Reactive.Notification{``0}})">Observable.Dematerialize</see> operators, or use <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset)">DelaySubscription</see>.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Time shifts the observable sequence to start propagating notifications at the specified absolute time, using the specified scheduler to run timers.
            The relative time intervals between the values are preserved.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="dueTime">Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. If this value is less than or equal to DateTimeOffset.UtcNow, the scheduler will dispatch observer callbacks as soon as possible.</param>
      <param name="scheduler">Scheduler to run the delay timers on.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            This operator is less efficient than <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">DelaySubscription</see> because it records all notifications and time-delays those. This allows for immediate propagation of errors.
            </para>
        <para>
            Observer callbacks for the resulting sequence will be run on the specified scheduler. This effect is similar to using ObserveOn.
            </para>
        <para>
            Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
            In order to delay error propagation, consider using the <see cref="M:System.Reactive.Linq.Observable.Materialize``1(System.IObservable{``0})">Observable.Materialize</see> and <see cref="M:System.Reactive.Linq.Observable.Dematerialize``1(System.IObservable{System.Reactive.Notification{``0}})">Observable.Dematerialize</see> operators, or use <see cref="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">DelaySubscription</see>.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Time shifts the observable sequence based on a delay selector function for each element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TDelay">The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="delayDurationSelector">Selector function to retrieve a sequence indicating the delay for each given element.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="delayDurationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Delay``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Time shifts the observable sequence based on a subscription delay and a delay selector function for each element.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TDelay">The type of the elements in the delay sequences used to denote the delay duration of each element in the source sequence.</typeparam>
      <param name="source">Source sequence to delay values for.</param>
      <param name="subscriptionDelay">Sequence indicating the delay for the subscription to the source.</param>
      <param name="delayDurationSelector">Selector function to retrieve a sequence indicating the delay for each given element.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="subscriptionDelay" /> or <paramref name="delayDurationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Time shifts the observable sequence by delaying the subscription with the specified relative time duration.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay subscription for.</param>
      <param name="dueTime">Relative time shift of the subscription.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator is more efficient than <see cref="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.TimeSpan)">Delay</see> but postpones all side-effects of subscription and affects error propagation timing.
            </para>
        <para>
            The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay subscription for.</param>
      <param name="dueTime">Relative time shift of the subscription.</param>
      <param name="scheduler">Scheduler to run the subscription delay timer on.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator is more efficient than <see cref="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">Delay</see> but postpones all side-effects of subscription and affects error propagation timing.
            </para>
        <para>
            The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset)">
      <summary>
            Time shifts the observable sequence by delaying the subscription to the specified absolute time.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay subscription for.</param>
      <param name="dueTime">Absolute time to perform the subscription at.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>
        <para>
            This operator is more efficient than <see cref="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.DateTimeOffset)">Delay</see> but postpones all side-effects of subscription and affects error propagation timing.
            </para>
        <para>
            The side-effects of subscribing to the source sequence will be run on the default scheduler. Observer callbacks will not be affected.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.DelaySubscription``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Time shifts the observable sequence by delaying the subscription to the specified absolute time, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to delay subscription for.</param>
      <param name="dueTime">Absolute time to perform the subscription at.</param>
      <param name="scheduler">Scheduler to run the subscription delay timer on.</param>
      <returns>Time-shifted sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
        <para>
            This operator is more efficient than <see cref="M:System.Reactive.Linq.Observable.Delay``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">Delay</see> but postpones all side-effects of subscription and affects error propagation timing.
            </para>
        <para>
            The side-effects of subscribing to the source sequence will be run on the specified scheduler. Observer callbacks will not be affected.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.TimeSpan})">
      <summary>
            Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <param name="timeSelector">Time selector function to control the speed of values being produced each iteration.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> or <paramref name="timeSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.TimeSpan},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <param name="timeSelector">Time selector function to control the speed of values being produced each iteration.</param>
      <param name="scheduler">Scheduler on which to run the generator loop.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> or <paramref name="timeSelector" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.DateTimeOffset})">
      <summary>
            Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <param name="timeSelector">Time selector function to control the speed of values being produced each iteration.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> or <paramref name="timeSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.DateTimeOffset},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Generates an observable sequence by running a state-driven and temporal loop producing the sequence's elements, using the specified scheduler to run timers and to send out observer messages.
            </summary>
      <typeparam name="TState">The type of the state used in the generator loop.</typeparam>
      <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
      <param name="initialState">Initial state.</param>
      <param name="condition">Condition to terminate generation (upon returning false).</param>
      <param name="iterate">Iteration step function.</param>
      <param name="resultSelector">Selector function for results produced in the sequence.</param>
      <param name="timeSelector">Time selector function to control the speed of values being produced each iteration.</param>
      <param name="scheduler">Scheduler on which to run the generator loop.</param>
      <returns>The generated sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="condition" /> or <paramref name="iterate" /> or <paramref name="resultSelector" /> or <paramref name="timeSelector" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Interval(System.TimeSpan)">
      <summary>
            Returns an observable sequence that produces a value after each period.
            </summary>
      <param name="period">Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <returns>An observable sequence that produces a value after each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification.
            If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the
            current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the
            <see cref="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.TimeSpan})" />
            operator instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Interval(System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that produces a value after each period, using the specified scheduler to run timers and to send out observer messages.
            </summary>
      <param name="period">Period for producing the values in the resulting sequence. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence that produces a value after each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
      <remarks>
            Intervals are measured between the start of subsequent notifications, not between the end of the previous and the start of the next notification.
            If the observer takes longer than the interval period to handle the message, the subsequent notification will be delivered immediately after the
            current one has been handled. In case you need to control the time between the end and the start of consecutive notifications, consider using the
            <see cref="M:System.Reactive.Linq.Observable.Generate``2(``0,System.Func{``0,System.Boolean},System.Func{``0,``0},System.Func{``0,``1},System.Func{``0,System.TimeSpan},System.Reactive.Concurrency.IScheduler)" />
            operator instead.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sample``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Samples the observable sequence at each interval.
            Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to sample.</param>
      <param name="interval">Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream.</param>
      <returns>Sampled observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="interval" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="interval" /> doesn't guarantee all source sequence elements will be preserved. This is a side-effect
            of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sample``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Samples the observable sequence at each interval, using the specified scheduler to run sampling timers.
            Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to sample.</param>
      <param name="interval">Interval at which to sample. If this value is equal to TimeSpan.Zero, the scheduler will continuously sample the stream.</param>
      <param name="scheduler">Scheduler to run the sampling timer on.</param>
      <returns>Sampled observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="interval" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="interval" /> doesn't guarantee all source sequence elements will be preserved. This is a side-effect
            of the asynchrony introduced by the scheduler, where the sampling action may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Sample``2(System.IObservable{``0},System.IObservable{``1})">
      <summary>
            Samples the source observable sequence using a samper observable sequence producing sampling ticks.
            Upon each sampling tick, the latest element (if any) in the source sequence during the last sampling interval is sent to the resulting sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TSample">The type of the elements in the sampling sequence.</typeparam>
      <param name="source">Source sequence to sample.</param>
      <param name="sampler">Sampling tick sequence.</param>
      <returns>Sampled observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="sampler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Skip``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Skips elements for the specified duration from the start of the observable source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="duration">Duration for skipping elements from the start of the sequence.</param>
      <returns>An observable sequence with the elements skipped during the specified duration from the start of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="duration" /> doesn't guarantee no elements will be dropped from the start of the source sequence.
            This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded
            may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the <paramref name="duration" />.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Skip``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="duration">Duration for skipping elements from the start of the sequence.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements skipped during the specified duration from the start of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="duration" /> doesn't guarantee no elements will be dropped from the start of the source sequence.
            This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded
            may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the <paramref name="duration" />.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipLast``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Skips elements for the specified duration from the end of the observable source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="duration">Duration for skipping elements from the end of the sequence.</param>
      <returns>An observable sequence with the elements skipped during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a queue with a length enough to store elements received during the initial <paramref name="duration" /> window.
            As more elements are received, elements older than the specified <paramref name="duration" /> are taken from the queue and produced on the
            result sequence. This causes elements to be delayed with <paramref name="duration" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipLast``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="duration">Duration for skipping elements from the end of the sequence.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements skipped during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a queue with a length enough to store elements received during the initial <paramref name="duration" /> window.
            As more elements are received, elements older than the specified <paramref name="duration" /> are taken from the queue and produced on the
            result sequence. This causes elements to be delayed with <paramref name="duration" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipUntil``1(System.IObservable{``0},System.DateTimeOffset)">
      <summary>
            Skips elements from the observable source sequence until the specified start time.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="startTime">Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped.</param>
      <returns>An observable sequence with the elements skipped until the specified start time.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <remarks>
            Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the <paramref name="startTime" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.SkipUntil``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to skip elements for.</param>
      <param name="startTime">Time to start taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, no elements will be skipped.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements skipped until the specified start time.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
            Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the <paramref name="startTime" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Take``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Takes elements for the specified duration from the start of the observable source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the start of the sequence.</param>
      <returns>An observable sequence with the elements taken during the specified duration from the start of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="duration" /> doesn't guarantee an empty sequence will be returned. This is a side-effect
            of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute
            immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Take``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the start of the sequence.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements taken during the specified duration from the start of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="duration" /> doesn't guarantee an empty sequence will be returned. This is a side-effect
            of the asynchrony introduced by the scheduler, where the action that stops forwarding callbacks from the source sequence may not execute
            immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLast``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Returns elements within the specified duration from the end of the observable source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the end of the sequence.</param>
      <returns>An observable sequence with the elements taken during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements for any <paramref name="duration" /> window during the lifetime of
            the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements
            to be delayed with <paramref name="duration" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLast``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the end of the sequence.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements taken during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements for any <paramref name="duration" /> window during the lifetime of
            the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements
            to be delayed with <paramref name="duration" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLast``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the end of the sequence.</param>
      <param name="timerScheduler">Scheduler to run the timer on.</param>
      <param name="loopScheduler">Scheduler to drain the collected elements.</param>
      <returns>An observable sequence with the elements taken during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="timerScheduler" /> or <paramref name="loopScheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements for any <paramref name="duration" /> window during the lifetime of
            the source sequence. Upon completion of the source sequence, this buffer is drained on the result sequence. This causes the result elements
            to be delayed with <paramref name="duration" />.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLastBuffer``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Returns a list with the elements within the specified duration from the end of the observable source sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the end of the sequence.</param>
      <returns>An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements for any <paramref name="duration" /> window during the lifetime of
            the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeLastBuffer``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns a list with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="duration">Duration for taking elements from the end of the sequence.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence containing a single list with the elements taken during the specified duration from the end of the source sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="duration" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            This operator accumulates a buffer with a length enough to store elements for any <paramref name="duration" /> window during the lifetime of
            the source sequence. Upon completion of the source sequence, this buffer is produced on the result sequence.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeUntil``1(System.IObservable{``0},System.DateTimeOffset)">
      <summary>
            Takes elements for the specified duration until the specified end time.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="endTime">Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately.</param>
      <returns>An observable sequence with the elements taken until the specified end time.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TakeUntil``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to take elements from.</param>
      <param name="endTime">Time to stop taking elements from the source sequence. If this value is less than or equal to DateTimeOffset.UtcNow, the result stream will complete immediately.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence with the elements taken until the specified end time.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throttle``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Ignores elements from an observable sequence which are followed by another element within a specified relative time duration.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to throttle.</param>
      <param name="dueTime">Throttling duration for each element.</param>
      <returns>The throttled sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator throttles the source sequence by holding on to each element for the duration specified in <paramref name="dueTime" />. If another
            element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole
            process. For streams that never have gaps larger than or equal to <paramref name="dueTime" /> between elements, the resulting stream won't
            produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the
            Observable.Sample set of operators.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing throttling timers to be scheduled
            that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the
            asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero
            due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throttle``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to throttle.</param>
      <param name="dueTime">Throttling duration for each element.</param>
      <param name="scheduler">Scheduler to run the throttle timers on.</param>
      <returns>The throttled sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            This operator throttles the source sequence by holding on to each element for the duration specified in <paramref name="dueTime" />. If another
            element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this whole
            process. For streams that never have gaps larger than or equal to <paramref name="dueTime" /> between elements, the resulting stream won't
            produce any elements. In order to reduce the volume of a stream whilst guaranteeing the periodic production of elements, consider using the
            Observable.Sample set of operators.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing throttling timers to be scheduled
            that are due immediately. However, this doesn't guarantee all elements will be retained in the result sequence. This is a side-effect of the
            asynchrony introduced by the scheduler, where the action to forward the current element may not execute immediately, despite the TimeSpan.Zero
            due time. In such cases, the next element may arrive before the scheduler gets a chance to run the throttling action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Throttle``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Ignores elements from an observable sequence which are followed by another value within a computed throttle duration.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TThrottle">The type of the elements in the throttle sequences selected for each element in the source sequence.</typeparam>
      <param name="source">Source sequence to throttle.</param>
      <param name="throttleDurationSelector">Selector function to retrieve a sequence indicating the throttle duration for each given element.</param>
      <returns>The throttled sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="throttleDurationSelector" /> is null.</exception>
      <remarks>
            This operator throttles the source sequence by holding on to each element for the duration denoted by <paramref name="throttleDurationSelector" />.
            If another element is produced within this time window, the element is dropped and a new timer is started for the current element, repeating this
            whole process. For streams where the duration computed by applying the <paramref name="throttleDurationSelector" /> to each element overlaps with
            the occurrence of the successor element, the resulting stream won't produce any elements. In order to reduce the volume of a stream whilst
            guaranteeing the periodic production of elements, consider using the Observable.Sample set of operators.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TimeInterval``1(System.IObservable{``0})">
      <summary>
            Records the time interval between consecutive elements in an observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to record time intervals for.</param>
      <returns>An observable sequence with time interval information on elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.TimeInterval``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Records the time interval between consecutive elements in an observable sequence, using the specified scheduler to compute time intervals.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to record time intervals for.</param>
      <param name="scheduler">Scheduler used to compute time intervals.</param>
      <returns>An observable sequence with time interval information on elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Applies a timeout policy for each element in the observable sequence.
            If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Maximum duration between values before a timeout occurs.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.TimeoutException">(Asynchronous) If no element is produced within <paramref name="dueTime" /> from the previous element.</exception>
      <remarks>
        <para>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing timeout timers to be scheduled that are due
            immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the
            scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may
            arrive before the scheduler gets a chance to run the timeout action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers.
            If the next element isn't received within the specified timeout duration starting from its predecessor, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Maximum duration between values before a timeout occurs.</param>
      <param name="scheduler">Scheduler to run the timeout timers on.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.TimeoutException">(Asynchronous) If no element is produced within <paramref name="dueTime" /> from the previous element.</exception>
      <remarks>
        <para>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing timeout timers to be scheduled that are due
            immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the
            scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may
            arrive before the scheduler gets a chance to run the timeout action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.TimeSpan,System.IObservable{``0})">
      <summary>
            Applies a timeout policy for each element in the observable sequence.
            If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Maximum duration between values before a timeout occurs.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing timeout timers to be scheduled that are due
            immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the
            scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may
            arrive before the scheduler gets a chance to run the timeout action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.TimeSpan,System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers.
            If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Maximum duration between values before a timeout occurs.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <param name="scheduler">Scheduler to run the timeout timers on.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="dueTime" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="dueTime" /> is not recommended but supported, causing timeout timers to be scheduled that are due
            immediately. However, this doesn't guarantee a timeout will occur, even for the first element. This is a side-effect of the asynchrony introduced by the
            scheduler, where the action to propagate a timeout may not execute immediately, despite the TimeSpan.Zero due time. In such cases, the next element may
            arrive before the scheduler gets a chance to run the timeout action.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.DateTimeOffset)">
      <summary>
            Applies a timeout policy to the observable sequence based on an absolute time.
            If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.TimeoutException">(Asynchronous) If the sequence hasn't terminated before <paramref name="dueTime" />.</exception>
      <remarks>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers.
            If the sequence doesn't terminate before the specified absolute due time, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.</param>
      <param name="scheduler">Scheduler to run the timeout timers on.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.TimeoutException">(Asynchronous) If the sequence hasn't terminated before <paramref name="dueTime" />.</exception>
      <remarks>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.DateTimeOffset,System.IObservable{``0})">
      <summary>
            Applies a timeout policy to the observable sequence based on an absolute time.
            If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> is null.</exception>
      <remarks>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``1(System.IObservable{``0},System.DateTimeOffset,System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Applies a timeout policy to the observable sequence based on an absolute time, using the specified scheduler to run timeout timers.
            If the sequence doesn't terminate before the specified absolute due time, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="dueTime">Time when a timeout occurs. If this value is less than or equal to DateTimeOffset.UtcNow, the timeout occurs immediately.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <param name="scheduler">Scheduler to run the timeout timers on.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="other" /> or <paramref name="scheduler" /> is null.</exception>
      <remarks>
            In case you only want to timeout on the first element, consider using the <see cref="M:System.Reactive.Linq.Observable.Amb``1(System.IObservable{``0},System.IObservable{``0})" />
            operator applied to the source sequence and a delayed <see cref="M:System.Reactive.Linq.Observable.Throw``1(System.Exception)" /> sequence. Alternatively, the general-purpose overload
            of Timeout, <see cref="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})" /> can be used.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Applies a timeout policy to the observable sequence based on a timeout duration computed for each element.
            If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TTimeout">The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="timeoutDurationSelector">Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="timeoutDurationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.Func{``0,System.IObservable{``1}},System.IObservable{``0})">
      <summary>
            Applies a timeout policy to the observable sequence based on a timeout duration computed for each element.
            If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <typeparam name="TTimeout">The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="timeoutDurationSelector">Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="timeoutDurationSelector" /> or <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}})">
      <summary>
            Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element.
            If the next element isn't received within the computed duration starting from its predecessor, a TimeoutException is propagated to the observer.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TTimeout">The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="firstTimeout">Observable sequence that represents the timeout for the first element.</param>
      <param name="timeoutDurationSelector">Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.</param>
      <returns>The source sequence with a TimeoutException in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="firstTimeout" /> or <paramref name="timeoutDurationSelector" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timeout``2(System.IObservable{``0},System.IObservable{``1},System.Func{``0,System.IObservable{``1}},System.IObservable{``0})">
      <summary>
            Applies a timeout policy to the observable sequence based on an initial timeout duration for the first element, and a timeout duration computed for each subsequent element.
            If the next element isn't received within the computed duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence and the other sequence used upon a timeout.</typeparam>
      <typeparam name="TTimeout">The type of the elements in the timeout sequences used to indicate the timeout duration for each element in the source sequence.</typeparam>
      <param name="source">Source sequence to perform a timeout for.</param>
      <param name="firstTimeout">Observable sequence that represents the timeout for the first element.</param>
      <param name="timeoutDurationSelector">Selector to retrieve an observable sequence that represents the timeout between the current element and the next element.</param>
      <param name="other">Sequence to return in case of a timeout.</param>
      <returns>The source sequence switching to the other sequence in case of a timeout.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="firstTimeout" /> or <paramref name="timeoutDurationSelector" /> or <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.TimeSpan)">
      <summary>
            Returns an observable sequence that produces a single value after the specified relative due time has elapsed.
            </summary>
      <param name="dueTime">Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.</param>
      <returns>An observable sequence that produces a value after the due time has elapsed.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.DateTimeOffset)">
      <summary>
            Returns an observable sequence that produces a single value at the specified absolute due time.
            </summary>
      <param name="dueTime">Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.</param>
      <returns>An observable sequence that produces a value at due time.</returns>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.TimeSpan,System.TimeSpan)">
      <summary>
            Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed.
            </summary>
      <param name="dueTime">Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.</param>
      <param name="period">Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <returns>An observable sequence that produces a value after due time has elapsed and then after each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.DateTimeOffset,System.TimeSpan)">
      <summary>
            Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time.
            </summary>
      <param name="dueTime">Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.</param>
      <param name="period">Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <returns>An observable sequence that produces a value at due time and then after each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that produces a single value after the specified relative due time has elapsed, using the specified scheduler to run the timer.
            </summary>
      <param name="dueTime">Relative time at which to produce the value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence that produces a value after the due time has elapsed.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.DateTimeOffset,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer.
            </summary>
      <param name="dueTime">Absolute time at which to produce the value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.</param>
      <param name="scheduler">Scheduler to run the timer on.</param>
      <returns>An observable sequence that produces a value at due time.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.TimeSpan,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers.
            </summary>
      <param name="dueTime">Relative time at which to produce the first value. If this value is less than or equal to TimeSpan.Zero, the timer will fire as soon as possible.</param>
      <param name="period">Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <param name="scheduler">Scheduler to run timers on.</param>
      <returns>An observable sequence that produces a value after due time has elapsed and then each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timer(System.DateTimeOffset,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Returns an observable sequence that periodically produces a value starting at the specified initial absolute due time, using the specified scheduler to run timers.
            </summary>
      <param name="dueTime">Absolute time at which to produce the first value. If this value is less than or equal to DateTimeOffset.UtcNow, the timer will fire as soon as possible.</param>
      <param name="period">Period to produce subsequent values. If this value is equal to TimeSpan.Zero, the timer will recur as fast as possible.</param>
      <param name="scheduler">Scheduler to run timers on.</param>
      <returns>An observable sequence that produces a value at due time and then after each period.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="period" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timestamp``1(System.IObservable{``0})">
      <summary>
            Timestamps each element in an observable sequence using the local system clock.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to timestamp elements for.</param>
      <returns>An observable sequence with timestamp information on elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Timestamp``1(System.IObservable{``0},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Timestamp each element in an observable sequence using the clock of the specified scheduler.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <param name="source">Source sequence to timestamp elements for.</param>
      <param name="scheduler">Scheduler used to compute timestamps.</param>
      <returns>An observable sequence with timestamp information on elements.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Length of each window.</param>
      <returns>The sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Length of each window.</param>
      <param name="scheduler">Scheduler to run windowing timers on.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan,System.TimeSpan)">
      <summary>
            Projects each element of an observable sequence into zero or more windows which are produced based on timing information.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Length of each window.</param>
      <param name="timeShift">Interval between creation of consecutive windows.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> or <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows with minimum duration
            length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the
            current window may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeShift" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler,
            where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into zero or more windows which are produced based on timing information, using the specified scheduler to run timers.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Length of each window.</param>
      <param name="timeShift">Interval between creation of consecutive windows.</param>
      <param name="scheduler">Scheduler to run windowing timers on.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> or <paramref name="timeSpan" /> is less than TimeSpan.Zero.</exception>
      <remarks>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows with minimum duration
            length. However, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced by the scheduler, where the action to close the
            current window may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
        <para>
            Specifying a TimeSpan.Zero value for <paramref name="timeShift" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            However, this doesn't mean all windows will start at the beginning of the source sequence. This is a side-effect of the asynchrony introduced by the scheduler,
            where the action to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </para>
      </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan,System.Int32)">
      <summary>
            Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed.
            A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Maximum time length of a window.</param>
      <param name="count">Maximum element count of a window.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero. -or- <paramref name="count" /> is less than or equal to zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="M:System.Reactive.Linq.Observable.Window``1(System.IObservable{``0},System.TimeSpan,System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed, using the specified scheduler to run timers.
            A useful real-world analogy of this overload is the behavior of a ferry leaving the dock when all seats are taken, or at the scheduled time of departure, whichever event occurs first.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence, and in the windows in the result sequence.</typeparam>
      <param name="source">Source sequence to produce windows over.</param>
      <param name="timeSpan">Maximum time length of a window.</param>
      <param name="count">Maximum element count of a window.</param>
      <param name="scheduler">Scheduler to run windowing timers on.</param>
      <returns>An observable sequence of windows.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="timeSpan" /> is less than TimeSpan.Zero. -or- <paramref name="count" /> is less than or equal to zero.</exception>
      <remarks>
            Specifying a TimeSpan.Zero value for <paramref name="timeSpan" /> is not recommended but supported, causing the scheduler to create windows as fast as it can.
            Because all source sequence elements end up in one of the windows, some windows won't have a zero time span. This is a side-effect of the asynchrony introduced
            by the scheduler, where the action to close the current window and to create a new window may not execute immediately, despite the TimeSpan.Zero due time.
            </remarks>
    </member>
    <member name="T:System.Reactive.Linq.IQueryLanguage">
      <summary>
            Internal interface describing the LINQ to Events query language.
            </summary>
    </member>
    <member name="T:System.Reactive.EventPatternSourceBase`2">
      <summary>
            Base class for classes that expose an observable sequence as a well-known event pattern (sender, event arguments).
            Contains functionality to maintain a map of event handler delegates to observable sequence subscriptions. Subclasses
            should only add an event with custom add and remove methods calling into the base class's operations.
            </summary>
      <typeparam name="TSender">The type of the sender that raises the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
    </member>
    <member name="M:System.Reactive.EventPatternSourceBase`2.#ctor(System.IObservable{System.Reactive.EventPattern{`0,`1}},System.Action{System.Action{`0,`1},System.Reactive.EventPattern{`0,`1}})">
      <summary>
            Creates a new event pattern source.
            </summary>
      <param name="source">Source sequence to expose as an event.</param>
      <param name="invokeHandler">Delegate used to invoke the event for each element of the sequence.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="source" /> or <paramref name="invokeHandler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.EventPatternSourceBase`2.Add(System.Delegate,System.Action{`0,`1})">
      <summary>
            Adds the specified event handler, causing a subscription to the underlying source.
            </summary>
      <param name="handler">Event handler to add. The same delegate should be passed to the Remove operation in order to remove the event handler.</param>
      <param name="invoke">Invocation delegate to raise the event in the derived class.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="handler" /> or <paramref name="invoke" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.EventPatternSourceBase`2.Remove(System.Delegate)">
      <summary>
            Removes the specified event handler, causing a disposal of the corresponding subscription to the underlying source that was created during the Add operation.
            </summary>
      <param name="handler">Event handler to remove. This should be the same delegate as one that was passed to the Add operation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="handler" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.EventPattern`2">
      <summary>
            Represents a .NET event invocation consisting of the strongly typed object that raised the event and the data that was generated by the event.
            </summary>
      <typeparam name="TSender">The type of the sender that raised the event.</typeparam>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
    </member>
    <member name="M:System.Reactive.EventPattern`2.#ctor(`0,`1)">
      <summary>
            Creates a new data representation instance of a .NET event invocation with the given sender and event data.
            </summary>
      <param name="sender">The sender object that raised the event.</param>
      <param name="e">The event data that was generated by the event.</param>
    </member>
    <member name="M:System.Reactive.EventPattern`2.Equals(System.Reactive.EventPattern{`0,`1})">
      <summary>
            Determines whether the current EventPattern&lt;TSender, TEventArgs&gt; object represents the same event as a specified EventPattern&lt;TSender, TEventArgs&gt; object.
            </summary>
      <param name="other">An object to compare to the current EventPattern&lt;TSender, TEventArgs&gt; object.</param>
      <returns>true if both EventPattern&lt;TSender, TEventArgs&gt; objects represent the same event; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.EventPattern`2.Equals(System.Object)">
      <summary>
            Determines whether the specified System.Object is equal to the current EventPattern&lt;TSender, TEventArgs&gt;.
            </summary>
      <param name="obj">The System.Object to compare with the current EventPattern&lt;TSender, TEventArgs&gt;.</param>
      <returns>true if the specified System.Object is equal to the current EventPattern&lt;TSender, TEventArgs&gt;; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.EventPattern`2.GetHashCode">
      <summary>
            Returns the hash code for the current EventPattern&lt;TSender, TEventArgs&gt; instance.
            </summary>
      <returns>A hash code for the current EventPattern&lt;TSender, TEventArgs&gt; instance.</returns>
    </member>
    <member name="M:System.Reactive.EventPattern`2.op_Equality(System.Reactive.EventPattern{`0,`1},System.Reactive.EventPattern{`0,`1})">
      <summary>
            Determines whether two specified EventPattern&lt;TSender, TEventArgs&gt; objects represent the same event.
            </summary>
      <param name="first">The first EventPattern&lt;TSender, TEventArgs&gt; to compare, or null.</param>
      <param name="second">The second EventPattern&lt;TSender, TEventArgs&gt; to compare, or null.</param>
      <returns>true if both EventPattern&lt;TSender, TEventArgs&gt; objects represent the same event; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.EventPattern`2.op_Inequality(System.Reactive.EventPattern{`0,`1},System.Reactive.EventPattern{`0,`1})">
      <summary>
            Determines whether two specified EventPattern&lt;TSender, TEventArgs&gt; objects represent a different event.
            </summary>
      <param name="first">The first EventPattern&lt;TSender, TEventArgs&gt; to compare, or null.</param>
      <param name="second">The second EventPattern&lt;TSender, TEventArgs&gt; to compare, or null.</param>
      <returns>true if both EventPattern&lt;TSender, TEventArgs&gt; objects don't represent the same event; otherwise, false.</returns>
    </member>
    <member name="P:System.Reactive.EventPattern`2.Sender">
      <summary>
            Gets the sender object that raised the event.
            </summary>
    </member>
    <member name="P:System.Reactive.EventPattern`2.EventArgs">
      <summary>
            Gets the event data that was generated by the event.
            </summary>
    </member>
    <member name="T:System.Reactive.EventPattern`1">
      <summary>
            Represents a .NET event invocation consisting of the weakly typed object that raised the event and the data that was generated by the event.
            </summary>
      <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
    </member>
    <member name="M:System.Reactive.EventPattern`1.#ctor(System.Object,`0)">
      <summary>
            Creates a new data representation instance of a .NET event invocation with the given sender and event data.
            </summary>
      <param name="sender">The sender object that raised the event.</param>
      <param name="e">The event data that was generated by the event.</param>
    </member>
    <member name="T:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2">
      <summary>
            Base class for virtual time schedulers.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <typeparam name="TRelative">Relative time representation type.</typeparam>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.#ctor">
      <summary>
            Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.#ctor(`0,System.Collections.Generic.IComparer{`0})">
      <summary>
            Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer.
            </summary>
      <param name="initialClock">Initial value for the clock.</param>
      <param name="comparer">Comparer to determine causality of events based on absolute time.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Add(`0,`1)">
      <summary>
            Adds a relative time value to an absolute time value.
            </summary>
      <param name="absolute">Absolute time value.</param>
      <param name="relative">Relative time value to add.</param>
      <returns>The resulting absolute time sum value.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.ToDateTimeOffset(`0)">
      <summary>
            Converts the absolute time value to a DateTimeOffset value.
            </summary>
      <param name="absolute">Absolute time value to convert.</param>
      <returns>The corresponding DateTimeOffset value.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.ToRelative(System.TimeSpan)">
      <summary>
            Converts the TimeSpan value to a relative time value.
            </summary>
      <param name="timeSpan">TimeSpan value to convert.</param>
      <returns>The corresponding relative time value.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.ScheduleAbsolute``1(``0,`0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.ScheduleRelative``1(``0,`1,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Schedule``1(``0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Schedule``1(``0,System.TimeSpan,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed after dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="dueTime">Relative time after which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Schedule``1(``0,System.DateTimeOffset,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <param name="action">Action to be executed.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Start">
      <summary>
            Starts the virtual time scheduler.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Stop">
      <summary>
            Stops the virtual time scheduler.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.AdvanceTo(`0)">
      <summary>
            Advances the scheduler's clock to the specified time, running all work till that point.
            </summary>
      <param name="time">Absolute time to advance the scheduler's clock to.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="time" /> is in the past.</exception>
      <exception cref="T:System.InvalidOperationException">The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use <see cref="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Sleep(`1)" />.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.AdvanceBy(`1)">
      <summary>
            Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan.
            </summary>
      <param name="time">Relative time to advance the scheduler's clock by.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="time" /> is negative.</exception>
      <exception cref="T:System.InvalidOperationException">The scheduler is already running. VirtualTimeScheduler doesn't support running nested work dispatch loops. To simulate time slippage while running work on the scheduler, use <see cref="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Sleep(`1)" />.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Sleep(`1)">
      <summary>
            Advances the scheduler's clock by the specified relative time.
            </summary>
      <param name="time">Relative time to advance the scheduler's clock by.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="time" /> is negative.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.GetNext">
      <summary>
            Gets the next scheduled item to be executed.
            </summary>
      <returns>The next scheduled item.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.GetService(System.Type)">
      <summary>
            Discovers scheduler services by interface type. The base class implementation supports
            only the IStopwatchProvider service. To influence service discovery - such as adding
            support for other scheduler services - derived types can override this method.
            </summary>
      <param name="serviceType">Scheduler service interface type to discover.</param>
      <returns>Object implementing the requested service, if available; null otherwise.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.StartStopwatch">
      <summary>
            Starts a new stopwatch object.
            </summary>
      <returns>New stopwatch object; started at the time of the request.</returns>
    </member>
    <member name="P:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.IsEnabled">
      <summary>
            Gets whether the scheduler is enabled to run work.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Comparer">
      <summary>
            Gets the comparer used to compare absolute time values.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Clock">
      <summary>
            Gets the scheduler's absolute time clock value.
            </summary>
    </member>
    <member name="P:System.Reactive.Concurrency.VirtualTimeSchedulerBase`2.Now">
      <summary>
            Gets the scheduler's notion of current time.
            </summary>
    </member>
    <member name="T:System.Reactive.Concurrency.HistoricalSchedulerBase">
      <summary>
            Base class for historical schedulers, which are virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.#ctor">
      <summary>
            Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.#ctor(System.DateTimeOffset)">
      <summary>
            Creates a new historical scheduler with the specified initial clock value.
            </summary>
      <param name="initialClock">Initial clock value.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.#ctor(System.DateTimeOffset,System.Collections.Generic.IComparer{System.DateTimeOffset})">
      <summary>
            Creates a new historical scheduler with the specified initial clock value and absolute time comparer.
            </summary>
      <param name="initialClock">Initial value for the clock.</param>
      <param name="comparer">Comparer to determine causality of events based on absolute time.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.Add(System.DateTimeOffset,System.TimeSpan)">
      <summary>
            Adds a relative time value to an absolute time value.
            </summary>
      <param name="absolute">Absolute time value.</param>
      <param name="relative">Relative time value to add.</param>
      <returns>The resulting absolute time sum value.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.ToDateTimeOffset(System.DateTimeOffset)">
      <summary>
            Converts the absolute time value to a DateTimeOffset value.
            </summary>
      <param name="absolute">Absolute time value to convert.</param>
      <returns>The corresponding DateTimeOffset value.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalSchedulerBase.ToRelative(System.TimeSpan)">
      <summary>
            Converts the TimeSpan value to a relative time value.
            </summary>
      <param name="timeSpan">TimeSpan value to convert.</param>
      <returns>The corresponding relative time value.</returns>
    </member>
    <member name="T:System.Reactive.Concurrency.HistoricalScheduler">
      <summary>
            Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalScheduler.#ctor">
      <summary>
            Creates a new historical scheduler with the minimum value of DateTimeOffset as the initial clock value.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalScheduler.#ctor(System.DateTimeOffset)">
      <summary>
            Creates a new historical scheduler with the specified initial clock value.
            </summary>
      <param name="initialClock">Initial value for the clock.</param>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalScheduler.#ctor(System.DateTimeOffset,System.Collections.Generic.IComparer{System.DateTimeOffset})">
      <summary>
            Creates a new historical scheduler with the specified initial clock value.
            </summary>
      <param name="initialClock">Initial value for the clock.</param>
      <param name="comparer">Comparer to determine causality of events based on absolute time.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalScheduler.GetNext">
      <summary>
            Gets the next scheduled item to be executed.
            </summary>
      <returns>The next scheduled item.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.HistoricalScheduler.ScheduleAbsolute``1(``0,System.DateTimeOffset,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Concurrency.VirtualTimeScheduler`2">
      <summary>
            Base class for virtual time schedulers using a priority queue for scheduled items.
            </summary>
      <typeparam name="TAbsolute">Absolute time representation type.</typeparam>
      <typeparam name="TRelative">Relative time representation type.</typeparam>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeScheduler`2.#ctor">
      <summary>
            Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value.
            </summary>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeScheduler`2.#ctor(`0,System.Collections.Generic.IComparer{`0})">
      <summary>
            Creates a new virtual time scheduler.
            </summary>
      <param name="initialClock">Initial value for the clock.</param>
      <param name="comparer">Comparer to determine causality of events based on absolute time.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="comparer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeScheduler`2.GetNext">
      <summary>
            Gets the next scheduled item to be executed.
            </summary>
      <returns>The next scheduled item.</returns>
    </member>
    <member name="M:System.Reactive.Concurrency.VirtualTimeScheduler`2.ScheduleAbsolute``1(``0,`0,System.Func{System.Reactive.Concurrency.IScheduler,``0,System.IDisposable})">
      <summary>
            Schedules an action to be executed at dueTime.
            </summary>
      <typeparam name="TState">The type of the state passed to the scheduled action.</typeparam>
      <param name="state">State passed to the action to be executed.</param>
      <param name="action">Action to be executed.</param>
      <param name="dueTime">Absolute time at which to execute the action.</param>
      <returns>The disposable object used to cancel the scheduled action (best effort).</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="action" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Subjects.ConnectableObservable`2">
      <summary>
            Represents an observable wrapper that can be connected and disconnected from its underlying observable sequence.
            </summary>
      <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
      <typeparam name="TResult">The type of the elements in the resulting sequence, after transformation through the subject.</typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.ConnectableObservable`2.#ctor(System.IObservable{`0},System.Reactive.Subjects.ISubject{`0,`1})">
      <summary>
            Creates an observable that can be connected and disconnected from its source.
            </summary>
      <param name="source">Underlying observable source sequence that can be connected and disconnected from the wrapper.</param>
      <param name="subject">Subject exposed by the connectable observable, receiving data from the underlying source sequence upon connection.</param>
    </member>
    <member name="M:System.Reactive.Subjects.ConnectableObservable`2.Connect">
      <summary>
            Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established.
            </summary>
      <returns>Disposable object used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence.</returns>
    </member>
    <member name="M:System.Reactive.Subjects.ConnectableObservable`2.Subscribe(System.IObserver{`1})">
      <summary>
            Subscribes an observer to the observable sequence. No values from the underlying observable source will be received unless a connection was established through the Connect method.
            </summary>
      <param name="observer">Observer that will receive values from the underlying observable source when the current ConnectableObservable instance is connected through a call to Connect.</param>
      <returns>Disposable used to unsubscribe from the observable sequence.</returns>
    </member>
    <member name="T:System.Reactive.Subjects.Subject">
      <summary>
            Provides a set of static methods for creating subjects.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.Subject.Create``2(System.IObserver{``0},System.IObservable{``1})">
      <summary>
            Creates a subject from the specified observer and observable.
            </summary>
      <typeparam name="TSource">The type of the elements received by the observer.</typeparam>
      <typeparam name="TResult">The type of the elements produced by the observable sequence.</typeparam>
      <param name="observer">The observer used to send messages to the subject.</param>
      <param name="observable">The observable used to subscribe to messages sent from the subject.</param>
      <returns>Subject implemented using the given observer and observable.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> or <paramref name="observable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.Subject.Synchronize``2(System.Reactive.Subjects.ISubject{``0,``1})">
      <summary>
            Synchronizes the messages sent to the subject.
            </summary>
      <typeparam name="TSource">The type of the elements received by the subject.</typeparam>
      <typeparam name="TResult">The type of the elements produced by the subject.</typeparam>
      <param name="subject">The subject to synchronize.</param>
      <returns>Subject whose messages are synchronized.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subject" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.Subject.Synchronize``2(System.Reactive.Subjects.ISubject{``0,``1},System.Reactive.Concurrency.IScheduler)">
      <summary>
            Synchronizes the messages sent to the subject and notifies observers on the specified scheduler.
            </summary>
      <typeparam name="TSource">The type of the elements received by the subject.</typeparam>
      <typeparam name="TResult">The type of the elements produced by the subject.</typeparam>
      <param name="subject">The subject to synchronize.</param>
      <param name="scheduler">Scheduler to notify observers on.</param>
      <returns>Subject whose messages are synchronized and whose observers are notified on the given scheduler.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="subject" /> or <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Subjects.AsyncSubject`1">
      <summary>
            Represents the result of an asynchronous operation.
            The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers.
            </summary>
      <typeparam name="T">The type of the elements processed by the subject.</typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.#ctor">
      <summary>
            Creates a subject that can only receive one value and that value is cached for all future observations.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.OnCompleted">
      <summary>
            Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any).
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.OnError(System.Exception)">
      <summary>
            Notifies all subscribed observers about the exception.
            </summary>
      <param name="error">The exception to send to all observers.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.OnNext(`0)">
      <summary>
            Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers.
            </summary>
      <param name="value">The value to store in the subject.</param>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.Subscribe(System.IObserver{`0})">
      <summary>
            Subscribes an observer to the subject.
            </summary>
      <param name="observer">Observer to subscribe to the subject.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the subject.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.Dispose">
      <summary>
            Unsubscribe all observers and release resources.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.AsyncSubject`1.GetResult">
      <summary>
            Gets the last element of the subject, potentially blocking until the subject completes successfully or exceptionally.
            </summary>
      <returns>The last element of the subject. Throws an InvalidOperationException if no element was received.</returns>
      <exception cref="T:System.InvalidOperationException">The source sequence is empty.</exception>
    </member>
    <member name="P:System.Reactive.Subjects.AsyncSubject`1.HasObservers">
      <summary>
            Indicates whether the subject has observers subscribed to it.
            </summary>
    </member>
    <member name="P:System.Reactive.Subjects.AsyncSubject`1.IsCompleted">
      <summary>
            Gets whether the AsyncSubject has completed.
            </summary>
    </member>
    <member name="T:System.Reactive.Subjects.BehaviorSubject`1">
      <summary>
            Represents a value that changes over time.
            Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications.
            </summary>
      <typeparam name="T">The type of the elements processed by the subject.</typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.#ctor(`0)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.BehaviorSubject`1" /> class which creates a subject that caches its last value and starts with the specified value.
            </summary>
      <param name="value">Initial value sent to observers when no other value has been received by the subject yet.</param>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.OnCompleted">
      <summary>
            Notifies all subscribed observers about the end of the sequence.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.OnError(System.Exception)">
      <summary>
            Notifies all subscribed observers about the exception.
            </summary>
      <param name="error">The exception to send to all observers.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.OnNext(`0)">
      <summary>
            Notifies all subscribed observers about the arrival of the specified element in the sequence.
            </summary>
      <param name="value">The value to send to all observers.</param>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.Subscribe(System.IObserver{`0})">
      <summary>
            Subscribes an observer to the subject.
            </summary>
      <param name="observer">Observer to subscribe to the subject.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the subject.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.BehaviorSubject`1.Dispose">
      <summary>
            Unsubscribe all observers and release resources.
            </summary>
    </member>
    <member name="P:System.Reactive.Subjects.BehaviorSubject`1.HasObservers">
      <summary>
            Indicates whether the subject has observers subscribed to it.
            </summary>
    </member>
    <member name="T:System.Reactive.Subjects.Subject`1">
      <summary>
            Represents an object that is both an observable sequence as well as an observer.
            Each notification is broadcasted to all subscribed observers.
            </summary>
      <typeparam name="T">The type of the elements processed by the subject.</typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.#ctor">
      <summary>
            Creates a subject.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.OnCompleted">
      <summary>
            Notifies all subscribed observers about the end of the sequence.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.OnError(System.Exception)">
      <summary>
            Notifies all subscribed observers about the specified exception.
            </summary>
      <param name="error">The exception to send to all currently subscribed observers.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.OnNext(`0)">
      <summary>
            Notifies all subscribed observers about the arrival of the specified element in the sequence.
            </summary>
      <param name="value">The value to send to all currently subscribed observers.</param>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.Subscribe(System.IObserver{`0})">
      <summary>
            Subscribes an observer to the subject.
            </summary>
      <param name="observer">Observer to subscribe to the subject.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the subject.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.Subject`1.Dispose">
      <summary>
            Releases all resources used by the current instance of the <see cref="T:System.Reactive.Subjects.Subject`1" /> class and unsubscribes all observers.
            </summary>
    </member>
    <member name="P:System.Reactive.Subjects.Subject`1.HasObservers">
      <summary>
            Indicates whether the subject has observers subscribed to it.
            </summary>
    </member>
    <member name="T:System.Reactive.Joins.Pattern">
      <summary>
            Abstract base class for join patterns.
            </summary>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`1">
      <summary>
            Represents a join pattern over one observable sequence.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`1.Then``1(System.Func{`0,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`2">
      <summary>
            Represents a join pattern over two observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`2.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all three observable sequences have an available element.
            </summary>
      <typeparam name="TSource3">The type of the elements in the third observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the two previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`2.Then``1(System.Func{`0,`1,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`3">
      <summary>
            Represents a join pattern over three observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`3.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all four observable sequences have an available element.
            </summary>
      <typeparam name="TSource4">The type of the elements in the fourth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the three previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`3.Then``1(System.Func{`0,`1,`2,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`4">
      <summary>
            Represents a join pattern over four observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`4.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all five observable sequences have an available element.
            </summary>
      <typeparam name="TSource5">The type of the elements in the fifth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the four previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`4.Then``1(System.Func{`0,`1,`2,`3,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`5">
      <summary>
            Represents a join pattern over five observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`5.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all six observable sequences have an available element.
            </summary>
      <typeparam name="TSource6">The type of the elements in the sixth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the five previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`5.Then``1(System.Func{`0,`1,`2,`3,`4,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`6">
      <summary>
            Represents a join pattern over six observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`6.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all seven observable sequences have an available element.
            </summary>
      <typeparam name="TSource7">The type of the elements in the seventh observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the six previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`6.Then``1(System.Func{`0,`1,`2,`3,`4,`5,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`7">
      <summary>
            Represents a join pattern over seven observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`7.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all eight observable sequences have an available element.
            </summary>
      <typeparam name="TSource8">The type of the elements in the eighth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the seven previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`7.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`8">
      <summary>
            Represents a join pattern over eight observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`8.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all nine observable sequences have an available element.
            </summary>
      <typeparam name="TSource9">The type of the elements in the ninth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the eight previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`8.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`9">
      <summary>
            Represents a join pattern over nine observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`9.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all ten observable sequences have an available element.
            </summary>
      <typeparam name="TSource10">The type of the elements in the tenth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the nine previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`9.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`10">
      <summary>
            Represents a join pattern over ten observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`10.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all eleven observable sequences have an available element.
            </summary>
      <typeparam name="TSource11">The type of the elements in the eleventh observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the ten previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`10.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`11">
      <summary>
            Represents a join pattern over eleven observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`11.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all twelve observable sequences have an available element.
            </summary>
      <typeparam name="TSource12">The type of the elements in the twelfth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the eleven previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`11.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`12">
      <summary>
            Represents a join pattern over twelve observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`12.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all thirteen observable sequences have an available element.
            </summary>
      <typeparam name="TSource13">The type of the elements in the thirteenth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the twelve previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`12.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,`11,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`13">
      <summary>
            Represents a join pattern over thirteen observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`13.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all fourteen observable sequences have an available element.
            </summary>
      <typeparam name="TSource14">The type of the elements in the fourteenth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the thirteen previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`13.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,`11,`12,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`14">
      <summary>
            Represents a join pattern over fourteen observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`14.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all fifteen observable sequences have an available element.
            </summary>
      <typeparam name="TSource15">The type of the elements in the fifteenth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the fourteen previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`14.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,`11,`12,`13,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`15">
      <summary>
            Represents a join pattern over fifteen observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`15.And``1(System.IObservable{``0})">
      <summary>
            Creates a pattern that matches when all sixteen observable sequences have an available element.
            </summary>
      <typeparam name="TSource16">The type of the elements in the sixteenth observable sequence.</typeparam>
      <param name="other">Observable sequence to match with the fifteen previous sequences.</param>
      <returns>Pattern object that matches when all observable sequences have an available element.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="other" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`15.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,`11,`12,`13,`14,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Pattern`16">
      <summary>
            Represents a join pattern over sixteen observable sequences.
            </summary>
      <typeparam name="TSource1">The type of the elements in the first source sequence.</typeparam>
      <typeparam name="TSource2">The type of the elements in the second source sequence.</typeparam>
      <typeparam name="TSource3">The type of the elements in the third source sequence.</typeparam>
      <typeparam name="TSource4">The type of the elements in the fourth source sequence.</typeparam>
      <typeparam name="TSource5">The type of the elements in the fifth source sequence.</typeparam>
      <typeparam name="TSource6">The type of the elements in the sixth source sequence.</typeparam>
      <typeparam name="TSource7">The type of the elements in the seventh source sequence.</typeparam>
      <typeparam name="TSource8">The type of the elements in the eighth source sequence.</typeparam>
      <typeparam name="TSource9">The type of the elements in the ninth source sequence.</typeparam>
      <typeparam name="TSource10">The type of the elements in the tenth source sequence.</typeparam>
      <typeparam name="TSource11">The type of the elements in the eleventh source sequence.</typeparam>
      <typeparam name="TSource12">The type of the elements in the twelfth source sequence.</typeparam>
      <typeparam name="TSource13">The type of the elements in the thirteenth source sequence.</typeparam>
      <typeparam name="TSource14">The type of the elements in the fourteenth source sequence.</typeparam>
      <typeparam name="TSource15">The type of the elements in the fifteenth source sequence.</typeparam>
      <typeparam name="TSource16">The type of the elements in the sixteenth source sequence.</typeparam>
    </member>
    <member name="M:System.Reactive.Joins.Pattern`16.Then``1(System.Func{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10,`11,`12,`13,`14,`15,``0})">
      <summary>
            Matches when all observable sequences have an available element and projects the elements by invoking the selector function.
            </summary>
      <typeparam name="TResult">The type of the elements in the result sequence, returned by the selector function.</typeparam>
      <param name="selector">Selector that will be invoked for elements in the source sequences.</param>
      <returns>Plan that produces the projected results, to be fed (with other plans) to the When operator.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="selector" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.Joins.Plan`1">
      <summary>
            Represents an execution plan for join patterns.
            </summary>
      <typeparam name="TResult">The type of the results produced by the plan.</typeparam>
    </member>
    <member name="T:System.Reactive.Subjects.ReplaySubject`1">
      <summary>
            Represents an object that is both an observable sequence as well as an observer.
            Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies.
            </summary>
      <typeparam name="T">The type of the elements processed by the subject.</typeparam>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.Int32,System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified buffer size, window and scheduler.
            </summary>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler the observers are invoked on.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero. -or- <paramref name="window" /> is less than TimeSpan.Zero.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.Int32,System.TimeSpan)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified buffer size and window.
            </summary>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="window">Maximum time length of the replay buffer.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero. -or- <paramref name="window" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.Reactive.Concurrency.IScheduler)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified scheduler.
            </summary>
      <param name="scheduler">Scheduler the observers are invoked on.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.Int32,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified buffer size and scheduler.
            </summary>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <param name="scheduler">Scheduler the observers are invoked on.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified buffer size.
            </summary>
      <param name="bufferSize">Maximum element count of the replay buffer.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="bufferSize" /> is less than zero.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.TimeSpan,System.Reactive.Concurrency.IScheduler)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified window and scheduler.
            </summary>
      <param name="window">Maximum time length of the replay buffer.</param>
      <param name="scheduler">Scheduler the observers are invoked on.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="scheduler" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.#ctor(System.TimeSpan)">
      <summary>
            Initializes a new instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class with the specified window.
            </summary>
      <param name="window">Maximum time length of the replay buffer.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="window" /> is less than TimeSpan.Zero.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.OnNext(`0)">
      <summary>
            Notifies all subscribed and future observers about the arrival of the specified element in the sequence.
            </summary>
      <param name="value">The value to send to all observers.</param>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.OnError(System.Exception)">
      <summary>
            Notifies all subscribed and future observers about the specified exception.
            </summary>
      <param name="error">The exception to send to all observers.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="error" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.OnCompleted">
      <summary>
            Notifies all subscribed and future observers about the end of the sequence.
            </summary>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.Subscribe(System.IObserver{`0})">
      <summary>
            Subscribes an observer to the subject.
            </summary>
      <param name="observer">Observer to subscribe to the subject.</param>
      <returns>Disposable object that can be used to unsubscribe the observer from the subject.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observer" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Subjects.ReplaySubject`1.Dispose">
      <summary>
            Releases all resources used by the current instance of the <see cref="T:System.Reactive.Subjects.ReplaySubject`1" /> class and unsubscribe all observers.
            </summary>
    </member>
    <member name="P:System.Reactive.Subjects.ReplaySubject`1.HasObservers">
      <summary>
            Indicates whether the subject has observers subscribed to it.
            </summary>
    </member>
    <member name="T:System.Reactive.Threading.Tasks.NamespaceDoc">
      <summary>
            The <b>System.Reactive.Threading.Tasks</b> namespace contains helpers for the conversion between tasks and observable sequences.
            </summary>
    </member>
    <member name="T:System.Reactive.Threading.Tasks.TaskObservableExtensions">
      <summary>
            Provides a set of static methods for converting tasks to observable sequences.
            </summary>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable(System.Threading.Tasks.Task)">
      <summary>
            Returns an observable sequence that signals when the task completes.
            </summary>
      <param name="task">Task to convert to an observable sequence.</param>
      <returns>An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="task" /> is null.</exception>
      <remarks>If the specified task object supports cancellation, consider using <see cref="M:System.Reactive.Linq.Observable.FromAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task})" /> instead.</remarks>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToObservable``1(System.Threading.Tasks.Task{``0})">
      <summary>
            Returns an observable sequence that propagates the result of the task.
            </summary>
      <typeparam name="TResult">The type of the result produced by the task.</typeparam>
      <param name="task">Task to convert to an observable sequence.</param>
      <returns>An observable sequence that produces the task's result, or propagates the exception produced by the task.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="task" /> is null.</exception>
      <remarks>If the specified task object supports cancellation, consider using <see cref="M:System.Reactive.Linq.Observable.FromAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})" /> instead.</remarks>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToTask``1(System.IObservable{``0})">
      <summary>
            Returns a task that will receive the last value or the exception produced by the observable sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the source sequence.</typeparam>
      <param name="observable">Observable sequence to convert to a task.</param>
      <returns>A task that will receive the last element or the exception produced by the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToTask``1(System.IObservable{``0},System.Object)">
      <summary>
            Returns a task that will receive the last value or the exception produced by the observable sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the source sequence.</typeparam>
      <param name="observable">Observable sequence to convert to a task.</param>
      <param name="state">The state to use as the underlying task's AsyncState.</param>
      <returns>A task that will receive the last element or the exception produced by the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToTask``1(System.IObservable{``0},System.Threading.CancellationToken)">
      <summary>
            Returns a task that will receive the last value or the exception produced by the observable sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the source sequence.</typeparam>
      <param name="observable">Observable sequence to convert to a task.</param>
      <param name="cancellationToken">Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence.</param>
      <returns>A task that will receive the last element or the exception produced by the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observable" /> is null.</exception>
    </member>
    <member name="M:System.Reactive.Threading.Tasks.TaskObservableExtensions.ToTask``1(System.IObservable{``0},System.Threading.CancellationToken,System.Object)">
      <summary>
            Returns a task that will receive the last value or the exception produced by the observable sequence.
            </summary>
      <typeparam name="TResult">The type of the elements in the source sequence.</typeparam>
      <param name="observable">Observable sequence to convert to a task.</param>
      <param name="cancellationToken">Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence.</param>
      <param name="state">The state to use as the underlying task's AsyncState.</param>
      <returns>A task that will receive the last element or the exception produced by the observable sequence.</returns>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="observable" /> is null.</exception>
    </member>
    <member name="T:System.Reactive.TimeInterval`1">
      <summary>
            Represents a value associated with time interval information.
            The time interval can represent the time it took to produce the value, the interval relative to a previous value, the value's delivery time relative to a base, etc.
            </summary>
      <typeparam name="T">The type of the value being annotated with time interval information.</typeparam>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.#ctor(`0,System.TimeSpan)">
      <summary>
            Constructs a time interval value.
            </summary>
      <param name="value">The value to be annotated with a time interval.</param>
      <param name="interval">Time interval associated with the value.</param>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.Equals(System.Reactive.TimeInterval{`0})">
      <summary>
            Determines whether the current TimeInterval&lt;T&gt; value has the same Value and Interval as a specified TimeInterval&lt;T&gt; value.
            </summary>
      <param name="other">An object to compare to the current TimeInterval&lt;T&gt; value.</param>
      <returns>true if both TimeInterval&lt;T&gt; values have the same Value and Interval; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.op_Equality(System.Reactive.TimeInterval{`0},System.Reactive.TimeInterval{`0})">
      <summary>
            Determines whether the two specified TimeInterval&lt;T&gt; values have the same Value and Interval.
            </summary>
      <param name="first">The first TimeInterval&lt;T&gt; value to compare.</param>
      <param name="second">The second TimeInterval&lt;T&gt; value to compare.</param>
      <returns>true if the first TimeInterval&lt;T&gt; value has the same Value and Interval as the second TimeInterval&lt;T&gt; value; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.op_Inequality(System.Reactive.TimeInterval{`0},System.Reactive.TimeInterval{`0})">
      <summary>
            Determines whether the two specified TimeInterval&lt;T&gt; values don't have the same Value and Interval.
            </summary>
      <param name="first">The first TimeInterval&lt;T&gt; value to compare.</param>
      <param name="second">The second TimeInterval&lt;T&gt; value to compare.</param>
      <returns>true if the first TimeInterval&lt;T&gt; value has a different Value or Interval as the second TimeInterval&lt;T&gt; value; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.Equals(System.Object)">
      <summary>
            Determines whether the specified System.Object is equal to the current TimeInterval&lt;T&gt;.
            </summary>
      <param name="obj">The System.Object to compare with the current TimeInterval&lt;T&gt;.</param>
      <returns>true if the specified System.Object is equal to the current TimeInterval&lt;T&gt;; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.GetHashCode">
      <summary>
            Returns the hash code for the current TimeInterval&lt;T&gt; value.
            </summary>
      <returns>A hash code for the current TimeInterval&lt;T&gt; value.</returns>
    </member>
    <member name="M:System.Reactive.TimeInterval`1.ToString">
      <summary>
            Returns a string representation of the current TimeInterval&lt;T&gt; value.
            </summary>
      <returns>String representation of the current TimeInterval&lt;T&gt; value.</returns>
    </member>
    <member name="P:System.Reactive.TimeInterval`1.Value">
      <summary>
            Gets the value.
            </summary>
    </member>
    <member name="P:System.Reactive.TimeInterval`1.Interval">
      <summary>
            Gets the interval.
            </summary>
    </member>
    <member name="T:System.Reactive.Timestamped`1">
      <summary>
            Represents value with a timestamp on it.
            The timestamp typically represents the time the value was received, using an IScheduler's clock to obtain the current time.
            </summary>
      <typeparam name="T">The type of the value being timestamped.</typeparam>
    </member>
    <member name="M:System.Reactive.Timestamped`1.#ctor(`0,System.DateTimeOffset)">
      <summary>
            Constructs a timestamped value.
            </summary>
      <param name="value">The value to be annotated with a timestamp.</param>
      <param name="timestamp">Timestamp associated with the value.</param>
    </member>
    <member name="M:System.Reactive.Timestamped`1.Equals(System.Reactive.Timestamped{`0})">
      <summary>
            Determines whether the current Timestamped&lt;T&gt; value has the same Value and Timestamp as a specified Timestamped&lt;T&gt; value.
            </summary>
      <param name="other">An object to compare to the current Timestamped&lt;T&gt; value.</param>
      <returns>true if both Timestamped&lt;T&gt; values have the same Value and Timestamp; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Timestamped`1.op_Equality(System.Reactive.Timestamped{`0},System.Reactive.Timestamped{`0})">
      <summary>
            Determines whether the two specified Timestamped&lt;T&gt; values have the same Value and Timestamp.
            </summary>
      <param name="first">The first Timestamped&lt;T&gt; value to compare.</param>
      <param name="second">The second Timestamped&lt;T&gt; value to compare.</param>
      <returns>true if the first Timestamped&lt;T&gt; value has the same Value and Timestamp as the second Timestamped&lt;T&gt; value; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Timestamped`1.op_Inequality(System.Reactive.Timestamped{`0},System.Reactive.Timestamped{`0})">
      <summary>
            Determines whether the two specified Timestamped&lt;T&gt; values don't have the same Value and Timestamp.
            </summary>
      <param name="first">The first Timestamped&lt;T&gt; value to compare.</param>
      <param name="second">The second Timestamped&lt;T&gt; value to compare.</param>
      <returns>true if the first Timestamped&lt;T&gt; value has a different Value or Timestamp as the second Timestamped&lt;T&gt; value; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Timestamped`1.Equals(System.Object)">
      <summary>
            Determines whether the specified System.Object is equal to the current Timestamped&lt;T&gt;.
            </summary>
      <param name="obj">The System.Object to compare with the current Timestamped&lt;T&gt;.</param>
      <returns>true if the specified System.Object is equal to the current Timestamped&lt;T&gt;; otherwise, false.</returns>
    </member>
    <member name="M:System.Reactive.Timestamped`1.GetHashCode">
      <summary>
            Returns the hash code for the current Timestamped&lt;T&gt; value.
            </summary>
      <returns>A hash code for the current Timestamped&lt;T&gt; value.</returns>
    </member>
    <member name="M:System.Reactive.Timestamped`1.ToString">
      <summary>
            Returns a string representation of the current Timestamped&lt;T&gt; value.
            </summary>
      <returns>String representation of the current Timestamped&lt;T&gt; value.</returns>
    </member>
    <member name="P:System.Reactive.Timestamped`1.Value">
      <summary>
            Gets the value.
            </summary>
    </member>
    <member name="P:System.Reactive.Timestamped`1.Timestamp">
      <summary>
            Gets the timestamp.
            </summary>
    </member>
    <member name="T:System.Reactive.Timestamped">
      <summary>
            A helper class with a factory method for creating Timestamped&lt;T&gt; instances.
            </summary>
    </member>
    <member name="M:System.Reactive.Timestamped.Create``1(``0,System.DateTimeOffset)">
      <summary>
            Creates an instance of a Timestamped&lt;T&gt;.  This is syntactic sugar that uses type inference
            to avoid specifying a type in a constructor call, which is very useful when using anonymous types.
            </summary>
      <param name="value">The value to be annotated with a timestamp.</param>
      <param name="timestamp">Timestamp associated with the value.</param>
      <returns>Creates a new timestamped value.</returns>
    </member>
    <member name="T:System.Reactive.Strings_Linq">
      <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.ResourceManager">
      <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.Culture">
      <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.COULD_NOT_FIND_INSTANCE_EVENT">
      <summary>
              Looks up a localized string similar to Could not find event '{0}' on object of type '{1}'..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.COULD_NOT_FIND_STATIC_EVENT">
      <summary>
              Looks up a localized string similar to Could not find event '{0}' on type '{1}'..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_ADD_METHOD_SHOULD_TAKE_ONE_PARAMETER">
      <summary>
              Looks up a localized string similar to Add method should take 1 parameter..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_ARGS_NOT_ASSIGNABLE">
      <summary>
              Looks up a localized string similar to The second parameter of the event delegate must be assignable to '{0}'..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_MISSING_ADD_METHOD">
      <summary>
              Looks up a localized string similar to Event is missing the add method..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_MISSING_REMOVE_METHOD">
      <summary>
              Looks up a localized string similar to Event is missing the remove method..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_MUST_RETURN_VOID">
      <summary>
              Looks up a localized string similar to The event delegate must have a void return type..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_PATTERN_REQUIRES_TWO_PARAMETERS">
      <summary>
              Looks up a localized string similar to The event delegate must have exactly two parameters..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_REMOVE_METHOD_SHOULD_TAKE_ONE_PARAMETER">
      <summary>
              Looks up a localized string similar to Remove method should take 1 parameter..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_SENDER_NOT_ASSIGNABLE">
      <summary>
              Looks up a localized string similar to The first parameter of the event delegate must be assignable to '{0}'..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.EVENT_WINRT_REMOVE_METHOD_SHOULD_TAKE_ERT">
      <summary>
              Looks up a localized string similar to Remove method of a WinRT event should take an EventRegistrationToken..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.MORE_THAN_ONE_ELEMENT">
      <summary>
              Looks up a localized string similar to Sequence contains more than one element..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.MORE_THAN_ONE_MATCHING_ELEMENT">
      <summary>
              Looks up a localized string similar to Sequence contains more than one matching element..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.NO_ELEMENTS">
      <summary>
              Looks up a localized string similar to Sequence contains no elements..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.NO_MATCHING_ELEMENTS">
      <summary>
              Looks up a localized string similar to Sequence contains no matching element..
            </summary>
    </member>
    <member name="P:System.Reactive.Strings_Linq.CANT_ADVANCE_WHILE_RUNNING">
      <summary>
              Looks up a localized string similar to {0} cannot be called when the scheduler is already running. Try using Sleep instead..
            </summary>
    </member>
  </members>
</doc>
tools\Boxstarter.Chocolatey\chocolatey\CREDITS.txt
<!-- TOC -->

- [Committers & Contributors](#committers--contributors)
  - [Committers](#committers)
  - [Chocolatey Community Team](#chocolatey-community-team)
  - [Contributors](#contributors)
  - [Other Contributors](#other-contributors)
- [Third Party Licenses - Development](#third-party-licenses---development)
- [Third Party Licenses - Runtime](#third-party-licenses---runtime)
  - [7-Zip](#7-zip)
  - [AlphaFS](#alphafs)
  - [Checksum](#checksum)
  - [log4net](#log4net)
  - [Microsoft.Web.Xdt](#microsoftwebxdt)
  - [NuGet.Core (modified)](#nugetcore-modified)
  - [Rhino.Licensing (modified)](#rhinolicensing-modified)
  - [Rx (Reactive Extensions)](#rx-reactive-extensions)
  - [Shim Generator (shimgen)](#shim-generator-shimgen)
  - [SimpleInjector](#simpleinjector)

<!-- /TOC -->

## Committers & Contributors
Chocolatey has been the the thoughts, ideas, and work of a large community. While [Rob](https://github.com/ferventcoder) heads up direction and plays a primary role in development, there are several people that have really been a part of making Chocolatey what it is today.


### Committers
These are the committers to Chocolatey/Choco repositories:

 * [Core Development Team](https://github.com/orgs/chocolatey/teams/developers)
   * [Rob Reynolds](https://github.com/ferventcoder) - Creator of Chocolatey, committer, vision, direction, community feed moderator
   * [Gary Ewan Park](https://github.com/gep13) - Committer, Chocolatey GUI, community feed moderator
   * [Matt Wrock](https://github.com/mwrock) - Committer, Creator of BoxStarter, community feed moderator
   * [Rich Siegel](https://github.com/rismoney) - Committer, Creator of Puppet provider
   * [Richard Simpson](https://github.com/RichiCoder1) - created and maintains the new Chocolatey GUI

### Chocolatey Community Team
The Chocolatey Community Team includes the committers and adds these fine folks:

* [Community Package Repository Moderation Team](https://github.com/orgs/chocolatey/teams/community-moderators)
* [Chocolatey Core Community Maintainers Team](https://github.com/orgs/chocolatey/teams/community-maintainers)

### Contributors
 * [choco.exe](https://github.com/chocolatey/choco/graphs/contributors)
 * [Original Chocolatey - POSH choco](https://github.com/chocolatey/chocolatey/graphs/contributors)
 * [Community Package Repository / Chocolatey.org](https://github.com/chocolatey/chocolatey.org/graphs/contributors)

### Other Contributors
**NOTE: NEEDS UPDATED**

 * Nekresh (https://github.com/nekresh) - Contributing code and ideas on direction
 * Chris Ortman (https://github.com/chrisortman) - package contributions and thoughts on where to take it
 * Svein Arne Ackenhausen (https://github.com/acken) - suggestions and thoughts on features and packages
 * Marcel Hoyer - suggestions on making this stuff work without administrative access to a machine
 * Jason Jarrett (https://github.com/staxmanade) - contributing code and ideas

## Third Party Licenses - Development
Choco is built, tested and analyzed with the following fantastic frameworks (in no particular order):

 * ILMerge
 * UppercuT (NAnt)
 * PublishedApplications
 * NuGet.exe

Choco is tested and analyzed with the following rockstar frameworks (in no particular order):

 * bdddoc
 * NUnit
 * Moq
 * TinySpec
 * Should
 * OpenCover
 * ReportGenerator

We would like to credit other super sweet tools/frameworks that aid in the development of choco:

 * ReSharper
 * NuGet Framework

## Third Party Licenses - Runtime
Chocolatey open source uses a number of 3rd party components. Their details are below (order is alphabetical).

<!-- TOC -->

- [7-Zip](#7-zip)
- [AlphaFS](#alphafs)
- [Checksum](#checksum)
- [log4net](#log4net)
- [Microsoft.Web.Xdt](#microsoftwebxdt)
- [NuGet.Core (modified)](#nugetcore-modified)
- [Rhino.Licensing (modified)](#rhinolicensing-modified)
- [Rx (Reactive Extensions)](#rx-reactive-extensions)
- [Shim Generator (shimgen)](#shim-generator-shimgen)
- [SimpleInjector](#simpleinjector)

<!-- /TOC -->

### 7-Zip
Chocolatey uses [7-Zip](http://www.7-zip.org/) for uncompressing archives. [License terms](http://www.7-zip.org/license.txt):

~~~
  7-Zip

  License for use and distribution
  --------------------------------

  7-Zip Copyright (C) 1999-2016 Igor Pavlov.

  Licenses for files are:

    1) 7z.dll: GNU LGPL + unRAR restriction
    2) All other files:  GNU LGPL

  The GNU LGPL + unRAR restriction means that you must follow both
  GNU LGPL rules and unRAR restriction rules.


  Note:
    You can use 7-Zip on any computer, including a computer in a commercial
    organization. You don't need to register or pay for 7-Zip.


  GNU LGPL information
  --------------------

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You can receive a copy of the GNU Lesser General Public License from
    http://www.gnu.org/


  unRAR restriction
  -----------------

    The decompression engine for RAR archives was developed using source
    code of unRAR program.
    All copyrights to original unRAR code are owned by Alexander Roshal.

    The license for original unRAR code has the following restriction:

      The unRAR sources cannot be used to re-create the RAR compression algorithm,
      which is proprietary. Distribution of modified unRAR sources in separate form
      or as a part of other software is permitted, provided that it is clearly
      stated in the documentation and source comments that the code may
      not be used to develop a RAR (WinRAR) compatible archiver.


  --
  Igor Pavlov

~~~

### AlphaFS
Chocolatey uses [AlphaFS](https://github.com/alphaleonis/AlphaFS) for long file paths. [License terms](https://github.com/alphaleonis/AlphaFS/blob/7e597b58a5109ee820766a176ffa489c1411b6aa/LICENSE.md):

~~~
  The MIT License (MIT)
  =====================

  Copyright (c) 2008-2016 Peter Palotas, Jeffrey Jangli, Alexandr Normuradov

  Permission is hereby granted, free of charge, to any person obtaining a copy of this
  software and associated documentation files (the "Software"), to deal in the Software
  without restriction, including without limitation the rights to use, copy, modify, merge,
  publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to
  whom the Software is furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in all copies or
  substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
  BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
~~~

### Checksum
Chocolatey uses [Checksum](https://github.com/ferventcoder/checksum) to determine checksums. [License terms](https://github.com/ferventcoder/checksum/blob/e6f5645610c7bc15084b48f69d4cdb056106f956/LICENSE):

~~~
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS

~~~

### log4net
Chocolatey uses [log4net](http://logging.apache.org/log4net/) for logging. [License terms](http://logging.apache.org/log4net/license.html):

~~~
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS
~~~

### Microsoft.Web.Xdt
Chocolatey uses [Microsoft.Web.Xdt](https://www.nuget.org/packages/Microsoft.Web.xdt) to perform Xml Document Transformation. It is also a requirement of NuGet.Core. [License terms](https://www.microsoft.com/web/webpi/eula/microsoft_web_xmltransform.htm):

~~~
  MICROSOFT SOFTWARE LICENSE TERMS

  MICROSOFT.WEB.XDT

  These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft

  ·         updates,

  ·         supplements,

  ·         Internet-based services, and

  ·         support services

  for this software, unless other terms accompany those items. If so, those terms apply.

  By using the software, you accept these terms. If you do not accept them, do not use the software.

  If you comply with these license terms, you have the perpetual rights below.

  1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software on your devices.

  2.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.

  a.    Distributable Code. The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.

  i.  Right to Use and Distribute.  You may copy and distribute the object code form of Microsoft.Web.XmlTransform.dll file.

  ·         Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.

  ii.Distribution Requirements. For any Distributable Code you distribute, you must

  ·         add significant primary functionality to it in your programs;

  ·         require distributors and external end users to agree to terms that protect it at least as much as this agreement;

  ·         display your valid copyright notice on your programs; and

  ·         indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.

  iii.   Distribution Restrictions. You may not

  ·         alter any copyright, trademark or patent notice in the Distributable Code;

  ·         use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;

  ·         distribute Distributable Code to run on a platform other than the Windows platform;

  ·         include Distributable Code in malicious, deceptive or unlawful programs; or

  ·         modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that

  ·         the code be disclosed or distributed in source code form; or

  ·         others have the right to modify it.

  3.    SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not

  ·         work around any technical limitations in the software;

  ·         reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;

  ·         make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;

  ·         publish the software for others to copy;

  ·         rent, lease or lend the software; or

  ·         transfer the software or this agreement to any third party.

  4.    BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software.

  5.    DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.

  6.    EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting.

  7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it.

  8.    ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.

  9.    APPLICABLE LAW.

  a.    United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.

  b.    Outside the United States. If you acquired the software in any other country, the laws of that country apply.

  10.  LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.

  11.  DISCLAIMER OF WARRANTY. The software is licensed “as-is.” You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights or statutory guarantees under your local laws which this agreement cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

  FOR AUSTRALIA – You have statutory guarantees under the Australian Consumer Law and nothing in these terms is intended to affect those rights.

  12.  LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. You can recover from Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.

  This limitation applies to

  ·         anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and

  ·         claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.

  It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
~~~

### NuGet.Core (modified)
Chocolatey uses [NuGet.Core](https://github.com/NuGet/NuGet2) [(modified)](https://github.com/chocolatey/nuget-chocolatey) to work with packaging. [License terms](https://github.com/NuGet/NuGet2/blob/c3d1027a51b31fd0c41e9abbe90810cf1c924c9f/COPYRIGHT.txt):

~~~
  Copyright 2010-2014 Outercurve Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
~~~

### Rhino.Licensing (modified)
Chocolatey uses [Rhino.Licensing](https://github.com/ayende/rhino-licensing) [(modified)](https://github.com/ferventcoder/rhino-licensing) to work with licensing. [License terms](https://github.com/ayende/rhino-licensing/blob/1fc90c984b0c3012465a73afae0a53492c969eb5/license.txt):

~~~
  Copyright (c) 2005 - 2009 Ayende Rahien ([email protected])
  All rights reserved.

  Redistribution and use in source and binary forms, with or without modification,
  are permitted provided that the following conditions are met:

      * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
      * Neither the name of Ayende Rahien nor the names of its
      contributors may be used to endorse or promote products derived from this
      software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
~~~

### Rx (Reactive Extensions)
Chocolatey uses [Rx](http://reactivex.io/) for schedules and internal messaging. [License terms](https://github.com/Reactive-Extensions/Rx.NET/blob/5003248b99f8bf4afc2d4f7570b5789cedda9155/LICENSE):

~~~
  Copyright (c) .NET Foundation and Contributors
  All Rights Reserved

  Licensed under the Apache License, Version 2.0 (the "License"); you
  may not use this file except in compliance with the License. You may
  obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  implied. See the License for the specific language governing permissions
  and limitations under the License.
~~~

### Shim Generator (shimgen)
Chocolatey uses [shimgen](https://github.com/chocolatey/shimgen) to generate shim executables that call the original binaries. [License terms](https://github.com/chocolatey/choco/blob/782a1cd228df548661e6c4eb5bb49b347025f85a/src/chocolatey.resources/tools/shimgen.license.txt):

~~~
  Shim Generator - shimgen.exe
  Copyright (C) 2013 - 2017 RealDimensions Software, LLC ("RDS")
  ===================================================================
  Grant of License
  ===================================================================
  You may use Shim Generator ("shimgen.exe") only with the official Chocolatey
  client. The use of shimgen.exe for any other reason is strictly prohibited.

  If you would like to use this software for any other reason, you must obtain a
  personal or commercial license to do so. To do that you must contact RDS at
  ferventcoder.com.

  This software is not free to distribute apart from the Chocolatey client. If you
  would like to distribute this software outside of use through Chocolatey, you
  must receive written permission from the software owner.

  ===================================================================
  End-User License Agreement
  ===================================================================
  EULA - Shim Generator

  IMPORTANT- READ CAREFULLY: This RealDimensions Software ("RDS") End-User License
  Agreement ("EULA") is a legal agreement between you ("END USER") and RDS for all
  RDS products, controls, source code, demos, intermediate files, media, printed
  materials, and "online" or electronic documentation ("SOFTWARE PRODUCT(S)")
  contained with this distribution.

  RDS grants to END USER as an individual, a personal, nonexclusive license to
  install and use the SOFTWARE PRODUCT(S) for the sole purpose of use with the
  official Chocolatey client. By installing, copying, or otherwise using the
  SOFTWARE PRODUCT(S), END USER agrees to be bound by the terms of this EULA. If
  END USER does not agree to any part of the terms of this EULA, DO NOT INSTALL,
  USE, OR EVALUATE, ANY PART, FILE OR PORTION OF THE SOFTWARE PRODUCT(S).

  ALL SOFTWARE PRODUCT(S) are licensed not sold. If END USER is an individual,
  END USER must acquire an individual license for the SOFTWARE PRODUCT(S) from RDS
  or its authorized resellers. If END USER is an entity, END USER must acquire an
  individual license for each machine running the SOFTWARE PRODUCT(S) within your
  organization from RDS or its authorized resellers. Both Virtual and Physical
  Machines running the SOFTWARE PRODUCT(S) must be counted in the SOFTWARE
  PRODUCT(S) licenses quantity of the organization.

  ===================================================================
  Commercial / Personal Licensing
  ===================================================================
  Shim Generator (shimgen.exe) is also offered under personal and commercial
  licenses. You can learn more about this option by contacting RDS at
  http://ferventcoder.com
~~~

### SimpleInjector
Chocolatey uses [SimpleInjector](https://simpleinjector.org/) for IoC containers. [License Terms](https://github.com/simpleinjector/SimpleInjector/blob/0687195a7691363d4b4918e36b5e4d708e88253c/licence.txt):

~~~
  Copyright (c) 2013 - 2017 Simple Injector Contributors

  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
  documentation files (the "Software"), to deal in the Software without restriction, including without
  limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
  Software, and to permit persons to whom the Software is furnished to do so, subject to the following
  conditions:

  The above copyright notice and this permission notice shall be included in all copies or substantial portions
  of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
  CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  DEALINGS IN THE SOFTWARE.
~~~
tools\Boxstarter.Chocolatey\chocolatey\log4net.dll
md5: 31E73AF0734F4328879C1D96CDC4658C | sha1: 4BE4F5F9036AAE86524085ECB893AE6552FC731D | sha256: CE6EE4FDC783A5BF905F240178AC96EAEB7EDE22FFE06A06BA179CD1A0442BD3 | sha512: 3218AC772C0B94B2434F823EBB4EEB9C89CCD5AA15FA6704D2572BEB0950EB043FC42B5D5313306279B3C3B745A994ACE3BACA3343AD2EF2C4384319EC2FC51B
tools\Boxstarter.Chocolatey\chocolatey\log4net.xml
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>log4net</name>
    </assembly>
    <members>
        <member name="T:log4net.Appender.AdoNetAppender">
            <summary>
            Appender that logs to a database.
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
            database. The appender can be configured to specify the connection 
            string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property. 
            The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
            property. For more information on database connection strings for
            your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
            </para>
            <para>
            Records are written into the database either using a prepared
            statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
            is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
            or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
            procedure.
            </para>
            <para>
            The prepared statement text or the name of the stored procedure
            must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
            </para>
            <para>
            The prepared statement or stored procedure can take a number
            of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
            method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
            ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
            type may be subclassed if required to provide database specific
            functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
            the parameter name, database type, size, and how the value should
            be generated using a <see cref="T:log4net.Layout.ILayout"/>.
            </para>
            </remarks>
            <example>
            An example of a SQL Server table that could be logged to:
            <code lang="SQL">
            CREATE TABLE [dbo].[Log] ( 
              [ID] [int] IDENTITY (1, 1) NOT NULL ,
              [Date] [datetime] NOT NULL ,
              [Thread] [varchar] (255) NOT NULL ,
              [Level] [varchar] (20) NOT NULL ,
              [Logger] [varchar] (255) NOT NULL ,
              [Message] [varchar] (4000) NOT NULL 
            ) ON [PRIMARY]
            </code>
            </example>
            <example>
            An example configuration to log to the above table:
            <code lang="XML" escaped="true">
            <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
              <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
              <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa"/>
              <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
              <parameter>
                <parameterName value="@log_date"/>
                <dbType value="DateTime"/>
                <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
              </parameter>
              <parameter>
                <parameterName value="@thread"/>
                <dbType value="String"/>
                <size value="255"/>
                <layout type="log4net.Layout.PatternLayout" value="%thread"/>
              </parameter>
              <parameter>
                <parameterName value="@log_level"/>
                <dbType value="String"/>
                <size value="50"/>
                <layout type="log4net.Layout.PatternLayout" value="%level"/>
              </parameter>
              <parameter>
                <parameterName value="@logger"/>
                <dbType value="String"/>
                <size value="255"/>
                <layout type="log4net.Layout.PatternLayout" value="%logger"/>
              </parameter>
              <parameter>
                <parameterName value="@message"/>
                <dbType value="String"/>
                <size value="4000"/>
                <layout type="log4net.Layout.PatternLayout" value="%message"/>
              </parameter>
            </appender>
            </code>
            </example>
            <author>Julian Biddle</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Lance Nehring</author>
        </member>
        <member name="T:log4net.Appender.BufferingAppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that 
            buffers events in a fixed size buffer.
            </summary>
            <remarks>
            <para>
            This base class should be used by appenders that need to buffer a 
            number of events before logging them. For example the <see cref="T:log4net.Appender.AdoNetAppender"/> 
            buffers events and then submits the entire contents of the buffer to 
            the underlying database in one go.
            </para>
            <para>
            Subclasses should override the <see cref="M:SendBuffer(LoggingEvent[])"/>
            method to deliver the buffered events.
            </para>
            <para>The BufferingAppenderSkeleton maintains a fixed size cyclic 
            buffer of events. The size of the buffer is set using 
            the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
            </para>
            <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect 
            each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> 
            triggers, then the current buffer is sent immediately 
            (see <see cref="M:SendBuffer(LoggingEvent[])"/>). Otherwise the event 
            is stored in the buffer. For example, an evaluator can be used to 
            deliver the events immediately when an ERROR event arrives.
            </para>
            <para>
            The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode. 
            By default the appender is NOT lossy. When the buffer is full all 
            the buffered events are sent with <see cref="M:SendBuffer(LoggingEvent[])"/>.
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the 
            buffer will not be sent when it is full, and new events arriving 
            in the appender will overwrite the oldest event in the buffer. 
            In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
            triggers. This can be useful behavior when you need to know about 
            ERROR events but not about events with a lower level, configure an 
            evaluator that will trigger when an ERROR event arrives, the whole 
            buffer will be sent which gives a history of events leading up to
            the ERROR event.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Appender.AppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>. 
            </summary>
            <remarks>
            <para>
            This class provides the code for common functionality, such 
            as support for threshold filtering and support for general filters.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Appender.IAppender">
            <summary>
            Implement this interface for your own strategies for printing log statements.
            </summary>
            <remarks>
            <para>
            Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
            class which provides a default implementation of this interface.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.IAppender.Close">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
            <summary>
            Log the logging event in Appender specific way.
            </summary>
            <param name="loggingEvent">The event to log</param>
            <remarks>
            <para>
            This method is called to log a message into this appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.IAppender.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>The name uniquely identifies the appender.</para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.IBulkAppender">
            <summary>
            Interface for appenders that support bulk logging.
            </summary>
            <remarks>
            <para>
            This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
            support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
            should only implement this interface if they can bulk log efficiently.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
            <summary>
            Log the array of logging events in Appender specific way.
            </summary>
            <param name="loggingEvents">The events to log</param>
            <remarks>
            <para>
            This method is called to log an array of events into this appender.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.IOptionHandler">
            <summary>
            Interface used to delay activate a configured object.
            </summary>
            <remarks>
            <para>
            This allows an object to defer activation of its options until all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.
            </para>
            <para>
            If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method 
            must be called by the container after its all the configured properties have been set 
            and before the component can be used.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
            <summary>
            Activate the options that were previously set with calls to properties.
            </summary>
            <remarks>
            <para>
            This allows an object to defer activation of its options until all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.
            </para>
            <para>
            If a component implements this interface then this method must be called
            after its properties have been set before the component can be used.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>Empty default constructor</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
            <summary>
            Finalizes this appender by calling the implementation's 
            <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
            </summary>
            <remarks>
            <para>
            If this appender has not been closed then the <c>Finalize</c> method
            will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Close">
            <summary>
            Closes the appender and release resources.
            </summary>
            <remarks>
            <para>
            Release any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            <para>
            This method cannot be overridden by subclasses. This method 
            delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
            method which must be overridden in the subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
            <summary>
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <see cref="M:Append(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            This method cannot be overridden by derived classes. A
            derived class should override the <see cref="M:Append(LoggingEvent)"/> method
            which is called by this method.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvent"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvent"/>.
            		</description>
            	</item>
            	<item>
            		<description>
            		Calls <see cref="M:PreAppendCheck()"/> and checks that 
            		it returns <c>true</c>.</description>
            	</item>
            </list>
            </para>
            <para>
            If all of the above steps succeed then the <paramref name="loggingEvent"/>
            will be passed to the abstract <see cref="M:Append(LoggingEvent)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
            <summary>
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <see cref="M:Append(LoggingEvent[])"/> method.
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            This method cannot be overridden by derived classes. A
            derived class should override the <see cref="M:Append(LoggingEvent[])"/> method
            which is called by this method.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvents"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvents"/>.
            		</description>
            	</item>
            	<item>
            		<description>
            		Calls <see cref="M:PreAppendCheck()"/> and checks that 
            		it returns <c>true</c>.</description>
            	</item>
            </list>
            </para>
            <para>
            If all of the above steps succeed then the <paramref name="loggingEvents"/>
            will be passed to the <see cref="M:Append(LoggingEvent[])"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
            <summary>
            Test if the logging event should we output by this appender
            </summary>
            <param name="loggingEvent">the event to test</param>
            <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
            <remarks>
            <para>
            This method checks the logging event against the threshold level set
            on this appender and also against the filters specified on this
            appender.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvent"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
            		<paramref name="loggingEvent"/>.
            		</description>
            	</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
            <summary>
            Adds a filter to the end of the filter chain.
            </summary>
            <param name="filter">the filter to add to this appender</param>
            <remarks>
            <para>
            The Filters are organized in a linked list.
            </para>
            <para>
            Setting this property causes the new filter to be pushed onto the 
            back of the filter chain.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
            <summary>
            Clears the filter list for this appender.
            </summary>
            <remarks>
            <para>
            Clears the filter list for this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
            <summary>
            Checks if the message level is below this appender's threshold.
            </summary>
            <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
            <remarks>
            <para>
            If there is no threshold set, then the return value is always <c>true</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> 
            requirements of this appender.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
            <summary>
            Is called when the appender is closed. Derived classes should override 
            this method if resources need to be released.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
            <summary>
            Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method 
            to perform actual logging.
            </summary>
            <param name="loggingEvent">The event to append.</param>
            <remarks>
            <para>
            A subclass must implement this method to perform
            logging of the <paramref name="loggingEvent"/>.
            </para>
            <para>This method will be called by <see cref="M:DoAppend(LoggingEvent)"/>
            if all the conditions listed for that method are met.
            </para>
            <para>
            To restrict the logging of events in the appender
            override the <see cref="M:PreAppendCheck()"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
            <summary>
            Append a bulk array of logging events.
            </summary>
            <param name="loggingEvents">the array of logging events</param>
            <remarks>
            <para>
            This base class implementation calls the <see cref="M:Append(LoggingEvent)"/>
            method for each element in the bulk array.
            </para>
            <para>
            A sub class that can better process a bulk array of events should
            override this method in addition to <see cref="M:Append(LoggingEvent)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
            <summary>
            Called before <see cref="M:Append(LoggingEvent)"/> as a precondition.
            </summary>
            <remarks>
            <para>
            This method is called by <see cref="M:DoAppend(LoggingEvent)"/>
            before the call to the abstract <see cref="M:Append(LoggingEvent)"/> method.
            </para>
            <para>
            This method can be overridden in a subclass to extend the checks 
            made before the event is passed to the <see cref="M:Append(LoggingEvent)"/> method.
            </para>
            <para>
            A subclass should ensure that they delegate this call to
            this base class if it is overridden.
            </para>
            </remarks>
            <returns><c>true</c> if the call to <see cref="M:Append(LoggingEvent)"/> should proceed.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
            <summary>
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
            </summary>
            <param name="loggingEvent">The event to render.</param>
            <returns>The event rendered as a string.</returns>
            <remarks>
            <para>
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
            set to render the <paramref name="loggingEvent"/> to 
            a string.
            </para>
            <para>If there is exception data in the logging event and 
            the layout does not process the exception, this method 
            will append the exception text to the rendered string.
            </para>
            <para>
            Where possible use the alternative version of this method
            <see cref="M:RenderLoggingEvent(TextWriter,LoggingEvent)"/>.
            That method streams the rendering onto an existing Writer
            which can give better performance if the caller already has
            a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
            </summary>
            <param name="loggingEvent">The event to render.</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
            set to render the <paramref name="loggingEvent"/> to 
            a string.
            </para>
            <para>If there is exception data in the logging event and 
            the layout does not process the exception, this method 
            will append the exception text to the rendered string.
            </para>
            <para>
            Use this method in preference to <see cref="M:RenderLoggingEvent(LoggingEvent)"/>
            where possible. If, however, the caller needs to render the event
            to a string then <see cref="M:RenderLoggingEvent(LoggingEvent)"/> does
            provide an efficient mechanism for doing so.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
            <summary>
            The layout of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_name">
            <summary>
            The name of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
            <summary>
            The level threshold of this appender.
            </summary>
            <remarks>
            <para>
            There is no level threshold filtering by default.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
            <summary>
            It is assumed and enforced that errorHandler is never null.
            </summary>
            <remarks>
            <para>
            It is assumed and enforced that errorHandler is never null.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
            <summary>
            The first filter in the filter chain.
            </summary>
            <remarks>
            <para>
            Set to <c>null</c> initially.
            </para>
            <para>
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
            <summary>
            The last filter in the filter chain.
            </summary>
            <remarks>
            See <see cref="T:log4net.Filter.IFilter"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
            <summary>
            Flag indicating if this appender is closed.
            </summary>
            <remarks>
            See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
            <summary>
            The guard prevents an appender from repeatedly calling its own DoAppend method
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
            <summary>
            StringWriter used to render events
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.declaringType">
            <summary>
            The fully qualified type of the AppenderSkeleton class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
            <summary>
            Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
            </summary>
            <value>
            The threshold <see cref="T:log4net.Core.Level"/> of the appender. 
            </value>
            <remarks>
            <para>
            All log events with lower level than the threshold level are ignored 
            by the appender.
            </para>
            <para>
            In configuration files this option is specified by setting the
            value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
            string, such as "DEBUG", "INFO" and so on.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
            </summary>
            <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
            <remarks>
            <para>
            The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default 
            implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
            <summary>
            The filter chain.
            </summary>
            <value>The head of the filter chain filter chain.</value>
            <remarks>
            <para>
            Returns the head Filter. The Filters are organized in a linked list
            and so all Filters on this Appender are available through the result.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
            </summary>
            <value>The layout of the appender.</value>
            <remarks>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
            </para>
            </remarks>
            <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>
            The name uniquely identifies the appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
            <summary>
            Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
            </summary>
            <remarks>
            <para>
            In the rather exceptional case, where the appender 
            implementation admits a layout but can also work without it, 
            then the appender should return <c>true</c>.
            </para>
            <para>
            This default implementation always returns <c>false</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
            <summary>
            The default buffer size.
            </summary>
            <remarks>
            The default size of the cyclic buffer used to store events.
            This is set to 512 by default.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
            <remarks>
            <para>
            Protected default constructor to allow subclassing.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
            <param name="eventMustBeFixed">the events passed through this appender must be
            fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
            <remarks>
            <para>
            Protected constructor to allow subclassing.
            </para>
            <para>
            The <paramref name="eventMustBeFixed"/> should be set if the subclass
            expects the events delivered to be fixed even if the 
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
            <summary>
            Flush the currently buffered events
            </summary>
            <remarks>
            <para>
            Flushes any events that have been buffered.
            </para>
            <para>
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
            of the buffer will NOT be flushed to the appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
            <summary>
            Flush the currently buffered events
            </summary>
            <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
            <remarks>
            <para>
            Flushes events that have been buffered. If <paramref name="flushLossyBuffer"/> is
            <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
            </para>
            <para>
            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
            of the buffer will only be flushed if <paramref name="flushLossyBuffer"/> is <c>true</c>.
            In this case the contents of the buffer will be tested against the 
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
            events will be discarded.
            </para>
            <para>
            If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
            be emptied by calling this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
            <summary>
            Close this appender instance.
            </summary>
            <remarks>
            <para>
            Close this appender instance. If this appender is marked
            as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in 
            the buffer must be sent when the appender is closed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>
            Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
            </para>
            <para>
            The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/> 
            method) if one of the following conditions is met:
            </para>
            <list type="bullet">
            	<item>
            		<description>The cyclic buffer is full and this appender is
            		marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
            	</item>
            	<item>
            		<description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
            		it is triggered for the <paramref name="loggingEvent"/>
            		specified.</description>
            	</item>
            </list>
            <para>
            Before the event is stored in the buffer it is fixed
            (see <see cref="M:LoggingEvent.FixVolatileData(FixFlags)"/>) to ensure that
            any data referenced by the event will be valid when the buffer
            is processed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
            <summary>
            Sends the contents of the buffer.
            </summary>
            <param name="firstLoggingEvent">The first logging event.</param>
            <param name="buffer">The buffer containing the events that need to be send.</param>
            <remarks>
            <para>
            The subclass must override <see cref="M:SendBuffer(LoggingEvent[])"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Sends the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            <para>
            The subclass must override this method to process the buffered events.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
            <summary>
            The size of the cyclic buffer used to hold the logging events.
            </summary>
            <remarks>
            Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
            <summary>
            The cyclic buffer used to store the logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
            <summary>
            The triggering event evaluator that causes the buffer to be sent immediately.
            </summary>
            <remarks>
            The object that is used to determine if an event causes the entire
            buffer to be sent immediately. This field can be <c>null</c>, which 
            indicates that event triggering is not to be done. The evaluator
            can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
            has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to 
            <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
            <summary>
            Indicates if the appender should overwrite events in the cyclic buffer 
            when it becomes full, or if the buffer should be flushed when the 
            buffer is full.
            </summary>
            <remarks>
            If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must 
            be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
            <summary>
            The triggering event evaluator filters discarded events.
            </summary>
            <remarks>
            The object that is used to determine if an event that is discarded should
            really be discarded or if it should be sent to the appenders. 
            This field can be <c>null</c>, which indicates that all discarded events will
            be discarded. 
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
            <summary>
            The events delivered to the subclass must be fixed.
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
            <summary>
            Gets or sets a value that indicates whether the appender is lossy.
            </summary>
            <value>
            <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            This appender uses a buffer to store logging events before 
            delivering them. A triggering event causes the whole buffer
            to be send to the remote sink. If the buffer overruns before
            a triggering event then logging events could be lost. Set
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events 
            from being lost.
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
            <summary>
            Gets or sets the size of the cyclic buffer used to hold the 
            logging events.
            </summary>
            <value>
            The size of the cyclic buffer used to hold the logging events.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
            representing the maximum number of logging events to collect in 
            a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
            oldest events are deleted as new events are added to the
            buffer. By default the size of the cyclic buffer is 512 events.
            </para>
            <para>
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to a value less than
            or equal to 1 then no buffering will occur. The logging event
            will be delivered synchronously (depending on the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>
            and <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> properties). Otherwise the event will
            be buffered.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the 
            buffer to be sent immediately.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
            sent immediately.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is appended to this 
            appender. If the evaluator triggers then the current buffer will 
            immediately be sent (see <see cref="M:SendBuffer(LoggingEvent[])"/>).
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
            <summary>
            Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
            </summary>
            <value>
            The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is discarded from this 
            appender. If the evaluator triggers then the current buffer will immediately 
            be sent (see <see cref="M:SendBuffer(LoggingEvent[])"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating if only part of the logging event data
            should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the
            event data to be fixed and serialized. This will improve performance.
            </para>
            <para>
            See <see cref="M:LoggingEvent.FixVolatileData(FixFlags)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
            <summary>
            Gets or sets a the fields that will be fixed in the event
            </summary>
            <value>
            The event fields that will be fixed before the event is buffered
            </value>
            <remarks>
            <para>
            The logging event needs to have certain thread specific values 
            captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
            for details.
            </para>
            </remarks>
            <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.#ctor">
            <summary> 
            Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppender"/> class.
            </summary>
            <remarks>
            Public default constructor to initialize a new instance of this class.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.OnClose">
            <summary>
            Override the parent method to close the database
            </summary>
            <remarks>
            <para>
            Closes the database command and database connection.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Inserts the events into the database.
            </summary>
            <param name="events">The events to insert into the database.</param>
            <remarks>
            <para>
            Insert all the events specified in the <paramref name="events"/>
            array into the database.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)">
            <summary>
            Adds a parameter to the command.
            </summary>
            <param name="parameter">The parameter to add to the command.</param>
            <remarks>
            <para>
            Adds a parameter to the ordered list of command parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(System.Data.IDbTransaction,log4net.Core.LoggingEvent[])">
            <summary>
            Writes the events to the database using the transaction specified.
            </summary>
            <param name="dbTran">The transaction that the events will be executed under.</param>
            <param name="events">The array of events to insert into the database.</param>
            <remarks>
            <para>
            The transaction argument can be <c>null</c> if the appender has been
            configured not to use transactions. See <see cref="P:log4net.Appender.AdoNetAppender.UseTransactions"/>
            property for more information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)">
            <summary>
            Formats the log message into database statement text.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            This method can be overridden by subclasses to provide 
            more control over the format of the database statement.
            </remarks>
            <returns>
            Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
            </returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.CreateConnection(System.Type,System.String)">
            <summary>
            Creates an <see cref="T:System.Data.IDbConnection"/> instance used to connect to the database.
            </summary>
            <remarks>
            This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary).
            </remarks>
            <param name="connectionType">The <see cref="T:System.Type"/> of the <see cref="T:System.Data.IDbConnection"/> object.</param>
            <param name="connectionString">The connectionString output from the ResolveConnectionString method.</param>
            <returns>An <see cref="T:System.Data.IDbConnection"/> instance with a valid connection string.</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionString(System.String@)">
            <summary>
            Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey
            property.
            </summary>
            <remarks>
            ConnectiongStringName is only supported on .NET 2.0 and higher.
            </remarks>
            <param name="connectionStringContext">Additional information describing the connection string.</param>
            <returns>A connection string used to connect to the database.</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionType">
            <summary>
            Retrieves the class type of the ADO.NET provider.
            </summary>
            <remarks>
            <para>
            Gets the Type of the ADO.NET provider to use to connect to the
            database. This method resolves the type specified in the 
            <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> property.
            </para>
            <para>
            Subclasses can override this method to return a different type
            if necessary.
            </para>
            </remarks>
            <returns>The <see cref="T:System.Type"/> of the ADO.NET provider</returns>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseCommand">
            <summary>
            Prepares the database command and initialize the parameters.
            </summary>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseConnection">
            <summary>
            Connects to the database.
            </summary>		
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.DisposeCommand(System.Boolean)">
            <summary>
            Cleanup the existing command.
            </summary>
            <param name="ignoreException">
            If true, a message will be written using LogLog.Warn if an exception is encountered when calling Dispose.
            </param>
        </member>
        <member name="M:log4net.Appender.AdoNetAppender.DiposeConnection">
            <summary>
            Cleanup the existing connection.
            </summary>
            <remarks>
            Calls the IDbConnection's <see cref="M:System.Data.IDbConnection.Close"/> method.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_usePreparedCommand">
            <summary>
            Flag to indicate if we are using a command object
            </summary>
            <remarks>
            <para>
            Set to <c>true</c> when the appender is to use a prepared
            statement or stored procedure to insert into the database.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_parameters">
            <summary>
            The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
            </summary>
            <remarks>
            <para>
            The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_dbConnection">
            <summary>
            The <see cref="T:System.Data.IDbConnection"/> that will be used
            to insert logging events into a database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_dbCommand">
            <summary>
            The database command.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionString">
            <summary>
            Database connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_appSettingsKey">
            <summary>
            The appSettings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionStringName">
            <summary>
            The connectionStrings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_connectionType">
            <summary>
            String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_commandText">
            <summary>
            The text of the command.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_commandType">
            <summary>
            The command type.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_useTransactions">
            <summary>
            Indicates whether to use transactions when writing to the database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.m_reconnectOnError">
            <summary>
            Indicates whether to use transactions when writing to the database.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppender.declaringType">
            <summary>
            The fully qualified type of the AdoNetAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionString">
            <summary>
            Gets or sets the database connection string that is used to connect to 
            the database.
            </summary>
            <value>
            The database connection string used to connect to the database.
            </value>
            <remarks>
            <para>
            The connections string is specific to the connection type.
            See <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> for more information.
            </para>
            </remarks>
            <example>Connection string for MS Access via ODBC:
            <code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"</code>
            </example>
            <example>Another connection string for MS Access via ODBC:
            <code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"</code>
            </example>
            <example>Connection string for MS Access via OLE DB:
            <code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"</code>
            </example>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.AppSettingsKey">
            <summary>
            The appSettings key from App.Config that contains the connection string.
            </summary>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionStringName">
            <summary>
            The connectionStrings key from App.Config that contains the connection string.
            </summary>
            <remarks>
            This property requires at least .NET 2.0.
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ConnectionType">
            <summary>
            Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
            that should be created.
            </summary>
            <value>
            The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
            </value>
            <remarks>
            <para>
            The type name of the ADO.NET provider to use.
            </para>
            <para>
            The default is to use the OLE DB provider.
            </para>
            </remarks>
            <example>Use the OLE DB Provider. This is the default value.
            <code>System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the MS SQL Server Provider. 
            <code>System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the ODBC Provider. 
            <code>Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral</code>
            This is an optional package that you can download from 
            <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
            search for <b>ODBC .NET Data Provider</b>.
            </example>
            <example>Use the Oracle Provider. 
            <code>System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            This is an optional package that you can download from 
            <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
            search for <b>.NET Managed Provider for Oracle</b>.
            </example>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.CommandText">
            <summary>
            Gets or sets the command text that is used to insert logging events
            into the database.
            </summary>
            <value>
            The command text used to insert logging events into the database.
            </value>
            <remarks>
            <para>
            Either the text of the prepared statement or the
            name of the stored procedure to execute to write into
            the database.
            </para>
            <para>
            The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property determines if
            this text is a prepared statement or a stored procedure.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.CommandType">
            <summary>
            Gets or sets the command type to execute.
            </summary>
            <value>
            The command type to execute.
            </value>
            <remarks>
            <para>
            This value may be either <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify
            that the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> is a prepared statement to execute, 
            or <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify that the
            <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property is the name of a stored procedure
            to execute.
            </para>
            <para>
            The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.UseTransactions">
            <summary>
            Should transactions be used to insert logging events in the database.
            </summary>
            <value>
            <c>true</c> if transactions should be used to insert logging events in
            the database, otherwise <c>false</c>. The default value is <c>true</c>.
            </value>
            <remarks>
            <para>
            Gets or sets a value that indicates whether transactions should be used
            to insert logging events in the database.
            </para>
            <para>
            When set a single transaction will be used to insert the buffered events
            into the database. Otherwise each event will be inserted without using
            an explicit transaction.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.ReconnectOnError">
            <summary>
            Should this appender try to reconnect to the database on error.
            </summary>
            <value>
            <c>true</c> if the appender should try to reconnect to the database after an
            error has occurred, otherwise <c>false</c>. The default value is <c>false</c>, 
            i.e. not to try to reconnect.
            </value>
            <remarks>
            <para>
            The default behaviour is for the appender not to try to reconnect to the
            database if an error occurs. Subsequent logging events are discarded.
            </para>
            <para>
            To force the appender to attempt to reconnect to the database set this
            property to <c>true</c>.
            </para>
            <note>
            When the appender attempts to connect to the database there may be a
            delay of up to the connection timeout specified in the connection string.
            This delay will block the calling application's thread. 
            Until the connection can be reestablished this potential delay may occur multiple times.
            </note>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppender.Connection">
            <summary>
            Gets or sets the underlying <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Data.IDbConnection"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.AdoNetAppender"/> creates a <see cref="T:System.Data.IDbConnection"/> to insert 
            logging events into a database.  Classes deriving from <see cref="T:log4net.Appender.AdoNetAppender"/> 
            can use this property to get or set this <see cref="T:System.Data.IDbConnection"/>.  Use the 
            underlying <see cref="T:System.Data.IDbConnection"/> returned from <see cref="P:log4net.Appender.AdoNetAppender.Connection"/> if 
            you require access beyond that which <see cref="T:log4net.Appender.AdoNetAppender"/> provides.
            </remarks>
        </member>
        <member name="T:log4net.Appender.AdoNetAppenderParameter">
            <summary>
            Parameter type used by the <see cref="T:log4net.Appender.AdoNetAppender"/>.
            </summary>
            <remarks>
            <para>
            This class provides the basic database parameter properties
            as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
            </para>
            <para>This type can be subclassed to provide database specific
            functionality. The two methods that are called externally are
            <see cref="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)"/> and <see cref="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> class.
            </summary>
            <remarks>
            Default constructor for the AdoNetAppenderParameter class.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)">
            <summary>
            Prepare the specified database command object.
            </summary>
            <param name="command">The command to prepare.</param>
            <remarks>
            <para>
            Prepares the database command object by adding
            this parameter to its collection of parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)">
            <summary>
            Renders the logging event and set the parameter value in the command.
            </summary>
            <param name="command">The command containing the parameter.</param>
            <param name="loggingEvent">The event to be rendered.</param>
            <remarks>
            <para>
            Renders the logging event using this parameters layout
            object. Sets the value of the parameter on the command object.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_parameterName">
            <summary>
            The name of this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_dbType">
            <summary>
            The database type for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_inferType">
            <summary>
            Flag to infer type rather than use the DbType
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_precision">
            <summary>
            The precision for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_scale">
            <summary>
            The scale for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_size">
            <summary>
            The size for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.AdoNetAppenderParameter.m_layout">
            <summary>
            The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
            logging event into an object for this parameter.
            </summary>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.ParameterName">
            <summary>
            Gets or sets the name of this parameter.
            </summary>
            <value>
            The name of this parameter.
            </value>
            <remarks>
            <para>
            The name of this parameter. The parameter name
            must match up to a named parameter to the SQL stored procedure
            or prepared statement.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.DbType">
            <summary>
            Gets or sets the database type for this parameter.
            </summary>
            <value>
            The database type for this parameter.
            </value>
            <remarks>
            <para>
            The database type for this parameter. This property should
            be set to the database type from the <see cref="P:log4net.Appender.AdoNetAppenderParameter.DbType"/>
            enumeration. See <see cref="P:System.Data.IDataParameter.DbType"/>.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the type from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDataParameter.DbType"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Precision">
            <summary>
            Gets or sets the precision for this parameter.
            </summary>
            <value>
            The precision for this parameter.
            </value>
            <remarks>
            <para>
            The maximum number of digits used to represent the Value.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the precision from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Precision"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Scale">
            <summary>
            Gets or sets the scale for this parameter.
            </summary>
            <value>
            The scale for this parameter.
            </value>
            <remarks>
            <para>
            The number of decimal places to which Value is resolved.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the scale from the value.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Scale"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Size">
            <summary>
            Gets or sets the size for this parameter.
            </summary>
            <value>
            The size for this parameter.
            </value>
            <remarks>
            <para>
            The maximum size, in bytes, of the data within the column.
            </para>
            <para>
            This property is optional. If not specified the ADO.NET provider 
            will attempt to infer the size from the value.
            </para>
            <para>
            For BLOB data types like VARCHAR(max) it may be impossible to infer the value automatically, use -1 as the size in this case.
            </para>
            </remarks>
            <seealso cref="P:System.Data.IDbDataParameter.Size"/>
        </member>
        <member name="P:log4net.Appender.AdoNetAppenderParameter.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to 
            render the logging event into an object for this 
            parameter.
            </summary>
            <value>
            The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
            logging event into an object for this parameter.
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Layout.IRawLayout"/> that renders the value for this
            parameter.
            </para>
            <para>
            The <see cref="T:log4net.Layout.RawLayoutConverter"/> can be used to adapt
            any <see cref="T:log4net.Layout.ILayout"/> into a <see cref="T:log4net.Layout.IRawLayout"/>
            for use in the property.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender">
            <summary>
            Appends logging events to the terminal using ANSI color escape sequences.
            </summary>
            <remarks>
            <para>
            AnsiColorTerminalAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user. It also allows the color of a specific level of message to be set.
            </para>
            <note>
            This appender expects the terminal to understand the VT100 control set 
            in order to interpret the color codes. If the terminal or console does not
            understand the control codes the behavior is not defined.
            </note>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
            <c>System.Console.Error</c> that is set at the time the event is appended.
            Therefore it is possible to programmatically redirect the output of this appender 
            (for example NUnit does this to capture program output). While this is the desired
            behavior of this appender it may have security implications in your application. 
            </para>
            <para>
            When configuring the ANSI colored terminal appender, a mapping should be
            specified to map a logging level to a color. For example:
            </para>
            <code lang="XML" escaped="true">
            <mapping>
            	<level value="ERROR"/>
            	<foreColor value="White"/>
            	<backColor value="Red"/>
                <attributes value="Bright,Underscore"/>
            </mapping>
            <mapping>
            	<level value="DEBUG"/>
            	<backColor value="Green"/>
            </mapping>
            </code>
            <para>
            The Level is the standard log4net logging level and ForeColor and BackColor can be any
            of the following values:
            <list type="bullet">
            <item><term>Blue</term><description></description></item>
            <item><term>Green</term><description></description></item>
            <item><term>Red</term><description></description></item>
            <item><term>White</term><description></description></item>
            <item><term>Yellow</term><description></description></item>
            <item><term>Purple</term><description></description></item>
            <item><term>Cyan</term><description></description></item>
            </list>
            These color values cannot be combined together to make new colors.
            </para>
            <para>
            The attributes can be any combination of the following:
            <list type="bullet">
            <item><term>Bright</term><description>foreground is brighter</description></item>
            <item><term>Dim</term><description>foreground is dimmer</description></item>
            <item><term>Underscore</term><description>message is underlined</description></item>
            <item><term>Blink</term><description>foreground is blinking (does not work on all terminals)</description></item>
            <item><term>Reverse</term><description>foreground and background are reversed</description></item>
            <item><term>Hidden</term><description>output is hidden</description></item>
            <item><term>Strikethrough</term><description>message has a line through it</description></item>
            </list>
            While any of these attributes may be combined together not all combinations
            work well together, for example setting both <i>Bright</i> and <i>Dim</i> attributes makes
            no sense.
            </para>
            </remarks>
            <author>Patrick Wagstrom</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.PostEventCodes">
            <summary>
            Ansi code to reset terminal
            </summary>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.AddMapping(log4net.Appender.AnsiColorTerminalAppender.LevelColors)">
            <summary>
            Add a mapping of level to color
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors"/> mapping to this appender.
            Each mapping defines the foreground and background colours
            for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to color mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_writeToErrorStream">
            <summary>
            Flag to write output to the error stream rather than the standard output stream
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_levelMapping">
            <summary>
            Mapping from level object to color value
            </summary>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.Target">
            <summary>
            Target is the value of the console output stream.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
            <remarks>
            <para>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes">
            <summary>
            The enum of possible display attributes
            </summary>
            <remarks>
            <para>
            The following flags can be combined together to
            form the ANSI color attributes.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Bright">
            <summary>
            text is bright
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Dim">
            <summary>
            text is dim
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Underscore">
            <summary>
            text is underlined
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Blink">
            <summary>
            text is blinking
            </summary>
            <remarks>
            Not all terminals support this attribute
            </remarks>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Reverse">
            <summary>
            text and background colors are reversed
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Hidden">
            <summary>
            text is hidden
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Strikethrough">
            <summary>
            text is displayed with a strikethrough
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Light">
            <summary>
            text color is light
            </summary>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiColor">
            <summary>
            The enum of possible foreground or background color values for 
            use with the color mapping method
            </summary>
            <remarks>
            <para>
            The output can be in one for the following ANSI colors.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Black">
            <summary>
            color is black
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Red">
            <summary>
            color is red
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Green">
            <summary>
            color is green
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Yellow">
            <summary>
            color is yellow
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Blue">
            <summary>
            color is blue
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Magenta">
            <summary>
            color is magenta
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Cyan">
            <summary>
            color is cyan
            </summary>
        </member>
        <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.White">
            <summary>
            color is white
            </summary>
        </member>
        <member name="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and the color it should be displayed in.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LevelMappingEntry">
            <summary>
            An entry in the <see cref="T:log4net.Util.LevelMapping"/>
            </summary>
            <remarks>
            <para>
            This is an abstract base class for types that are stored in the
            <see cref="T:log4net.Util.LevelMapping"/> object.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.LevelMappingEntry.#ctor">
            <summary>
            Default protected constructor
            </summary>
            <remarks>
            <para>
            Default protected constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LevelMappingEntry.ActivateOptions">
            <summary>
            Initialize any options defined on this entry
            </summary>
            <remarks>
            <para>
            Should be overridden by any classes that need to initialise based on their options
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LevelMappingEntry.Level">
            <summary>
            The level that is the key for this mapping 
            </summary>
            <value>
            The <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this mapping 
            </value>
            <remarks>
            <para>
            Get or set the <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this
            mapping subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ActivateOptions">
            <summary>
            Initialize the options for the object
            </summary>
            <remarks>
            <para>
            Combine the <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> together
            and append the attributes.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor">
            <summary>
            The mapped foreground color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped foreground color for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor">
            <summary>
            The mapped background color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped background color for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes">
            <summary>
            The color attributes for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The color attributes for the specified level
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.CombinedColor">
            <summary>
            The combined <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/>, <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> and
            <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes"/> suitable for setting the ansi terminal color.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
            <summary>
            Creates a read-only wrapper for a <c>AppenderCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            An <c>AppenderCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
            <summary>
            An empty readonly static AppenderCollection
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <c>AppenderCollection</c>.
            </summary>
            <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
            <summary>
            Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clear">
            <summary>
            Removes all elements from the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Appender.AppenderCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
            <summary>
            Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>AppenderCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
            in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
            <summary>
            Inserts an element into the <c>AppenderCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to remove from the <c>AppenderCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Appender.IAppender"/> was not found in the <c>AppenderCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>AppenderCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
            <summary>
            Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <c>AppenderCollection</c> whose elements should be added to the end of the current <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Appender.IAppender"/> array whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ToArray">
            <summary>
            Return the collection elements as an array
            </summary>
            <returns>the array</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<para><paramref name="index"/> is less than zero</para>
            	<para>-or-</para>
            	<para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
            <exclude/>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.ReadOnlyAppenderCollection">
            <exclude/>
        </member>
        <member name="T:log4net.Appender.AspNetTraceAppender">
            <summary>
            <para>
            Appends log events to the ASP.NET <see cref="T:System.Web.TraceContext"/> system.
            </para>
            </summary>
            <remarks>
            <para>
            Diagnostic information and tracing messages that you specify are appended to the output 
            of the page that is sent to the requesting browser. Optionally, you can view this information
            from a separate trace viewer (Trace.axd) that displays trace information for every page in a 
            given application.
            </para>
            <para>
            Trace statements are processed and displayed only when tracing is enabled. You can control 
            whether tracing is displayed to a page, to the trace viewer, or both.
            </para>
            <para>
            The logging event is passed to the <see cref="M:TraceContext.Write(string)"/> or 
            <see cref="M:TraceContext.Warn(string)"/> method depending on the level of the logging event.
            The event's logger name is the default value for the category parameter of the Write/Warn method. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Appender.AspNetTraceAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.AspNetTraceAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AspNetTraceAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Write the logging event to the ASP.NET trace
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>
            Write the logging event to the ASP.NET trace
            <c>HttpContext.Current.Trace</c> 
            (<see cref="T:System.Web.TraceContext"/>).
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AspNetTraceAppender.m_category">
            <summary>
            Defaults to %logger
            </summary>
        </member>
        <member name="P:log4net.Appender.AspNetTraceAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AspNetTraceAppender.Category">
            <summary>
            The category parameter sent to the Trace method.
            </summary>
            <remarks>
            <para>
            Defaults to %logger which will use the logger name of the current 
            <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
            </para>
            <para>
            </para> 
            </remarks>
        </member>
        <member name="T:log4net.Appender.BufferingForwardingAppender">
            <summary>
            Buffers events and then forwards them to attached appenders.
            </summary>
            <remarks>
            <para>
            The events are buffered in this appender until conditions are
            met to allow the appender to deliver the events to the attached 
            appenders. See <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> for the
            conditions that cause the buffer to be sent.
            </para>
            <para>The forwarding appender can be used to specify different 
            thresholds and filters for the same appender at different locations 
            within the hierarchy.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Core.IAppenderAttachable">
            <summary>
            Interface for attaching appenders to objects.
            </summary>
            <remarks>
            <para>
            Interface for attaching, removing and retrieving appenders.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="appender">The appender to add.</param>
            <remarks>
            <para>
            Add the specified appender. The implementation may
            choose to allow or deny duplicate appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
            <remarks>
            <para>
            Returns an attached appender with the <paramref name="name"/> specified.
            If no appender with the specified name is found <c>null</c> will be
            returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
            <remarks>
            <para>
            Removes and closes all attached appenders
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.IAppenderAttachable.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <value>
            A collection of attached appenders.
            </value>
            <remarks>
            <para>
            Gets a collection of attached appenders.
            If there are no attached appenders the
            implementation should return an empty 
            collection rather than <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Send the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            <para>
            Forwards the events to the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
            instance.
            </summary>
            <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
            <remarks>
            <para>
            If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
            <summary>
            Looks for the appender with the specified name.
            </summary>
            <param name="name">The name of the appender to lookup.</param>
            <returns>
            The appender with the specified name, or <c>null</c>.
            </returns>
            <remarks>
            <para>
            Get the named appender attached to this buffering appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
            <summary>
            Removes all previously added appenders from this appender.
            </summary>
            <remarks>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingForwardingAppender.m_appenderAttachedImpl">
            <summary>
            Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
            <summary>
            Gets the appenders contained in this appender as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/> 
            is returned.
            </remarks>
            <returns>
            A collection of the appenders in this appender.
            </returns>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender">
            <summary>
            Appends logging events to the console.
            </summary>
            <remarks>
            <para>
            ColoredConsoleAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user. It also allows the color of a specific type of message to be set.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes directly to the application's attached console
            not to the <c>System.Console.Out</c> or <c>System.Console.Error</c> <c>TextWriter</c>.
            The <c>System.Console.Out</c> and <c>System.Console.Error</c> streams can be
            programmatically redirected (for example NUnit does this to capture program output).
            This appender will ignore these redirections because it needs to use Win32
            API calls to colorize the output. To respect these redirections the <see cref="T:log4net.Appender.ConsoleAppender"/>
            must be used.
            </para>
            <para>
            When configuring the colored console appender, mapping should be
            specified to map a logging level to a color. For example:
            </para>
            <code lang="XML" escaped="true">
            <mapping>
            	<level value="ERROR"/>
            	<foreColor value="White"/>
            	<backColor value="Red, HighIntensity"/>
            </mapping>
            <mapping>
            	<level value="DEBUG"/>
            	<backColor value="Green"/>
            </mapping>
            </code>
            <para>
            The Level is the standard log4net logging level and ForeColor and BackColor can be any
            combination of the following values:
            <list type="bullet">
            <item><term>Blue</term><description></description></item>
            <item><term>Green</term><description></description></item>
            <item><term>Red</term><description></description></item>
            <item><term>White</term><description></description></item>
            <item><term>Yellow</term><description></description></item>
            <item><term>Purple</term><description></description></item>
            <item><term>Cyan</term><description></description></item>
            <item><term>HighIntensity</term><description></description></item>
            </list>
            </para>
            </remarks>
            <author>Rick Hobbs</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
            <remarks>
            When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
            the standard error output stream.  Otherwise, output is written to the standard
            output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.LevelColors)">
            <summary>
            Add a mapping of level to color - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.ColoredConsoleAppender.LevelColors"/> mapping to this appender.
            Each mapping defines the foreground and background colors
            for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to color mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.m_writeToErrorStream">
            <summary>
            Flag to write output to the error stream rather than the standard output stream
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.m_levelMapping">
            <summary>
            Mapping from level object to color value
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.m_consoleOutputWriter">
            <summary>
            The console output stream writer to write to
            </summary>
            <remarks>
            <para>
            This writer is not thread safe.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
            <remarks>
            <para>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender.Colors">
            <summary>
            The enum of possible color values for use with the color mapping method
            </summary>
            <remarks>
            <para>
            The following flags can be combined together to
            form the colors.
            </para>
            </remarks>
            <seealso cref="T:log4net.Appender.ColoredConsoleAppender"/>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
            <summary>
            color is blue
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
            <summary>
            color is green
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
            <summary>
            color is red
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
            <summary>
            color is white
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
            <summary>
            color is yellow
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
            <summary>
            color is purple
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
            <summary>
            color is cyan
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
            <summary>
            color is intensified
            </summary>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender.LevelColors">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and the color it should be displayed in.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.LevelColors.ActivateOptions">
            <summary>
            Initialize the options for the object
            </summary>
            <remarks>
            <para>
            Combine the <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> together.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor">
            <summary>
            The mapped foreground color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped foreground color for the specified level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor">
            <summary>
            The mapped background color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped background color for the specified level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.CombinedColor">
            <summary>
            The combined <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> suitable for 
            setting the console color.
            </summary>
        </member>
        <member name="T:log4net.Appender.ConsoleAppender">
            <summary>
            Appends logging events to the console.
            </summary>
            <remarks>
            <para>
            ConsoleAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
            <c>System.Console.Error</c> that is set at the time the event is appended.
            Therefore it is possible to programmatically redirect the output of this appender 
            (for example NUnit does this to capture program output). While this is the desired
            behavior of this appender it may have security implications in your application. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Appender.ConsoleAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ConsoleAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
            <remarks>
            When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
            the standard error output stream.  Otherwise, output is written to the standard
            output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
            <remarks>
            <para>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ConsoleAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.DebugAppender">
            <summary>
            Appends log events to the <see cref="T:System.Diagnostics.Debug"/> system.
            </summary>
            <remarks>
            <para>
            The application configuration file can be used to control what listeners 
            are actually used. See the MSDN documentation for the 
            <see cref="T:System.Diagnostics.Debug"/> class for details on configuring the
            debug system.
            </para>
            <para>
            Events are written using the <see cref="M:System.Diagnostics.Debug.Write(string,string)"/>
            method. The event's logger name is passed as the value for the category name to the Write method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.DebugAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/>.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.DebugAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/> 
            with a specified layout.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.DebugAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
            If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is <c>true</c> then the <see cref="M:System.Diagnostics.Debug.Flush"/>
            is called.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.DebugAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying writer or output stream
            will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logs events are not actually written to persistent media if and
            when the application crashes.
            </para>
            <para>
            The default value is <c>true</c>.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.DebugAppender.ImmediateFlush">
            <summary>
            Gets or sets a value that indicates whether the appender will 
            flush at the end of each write.
            </summary>
            <remarks>
            <para>The default behavior is to flush at the end of each 
            write. If the option is set to<c>false</c>, then the underlying 
            stream can defer writing to physical medium to a later time. 
            </para>
            <para>
            Avoiding the flush operation at the end of each append results 
            in a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.DebugAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.EventLogAppender">
            <summary>
            Writes events to the system event log.
            </summary>
            <remarks>
            <para>
            The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges.
            See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog
            </para>
            <para>
            The <c>EventID</c> of the event log entry can be
            set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            <para>
            The <c>Category</c> of the event log entry can be
            set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            <para>
            When configuring the EventLogAppender a mapping can be
            specified to map a logging level to an event log entry type. For example:
            </para>
            <code lang="XML">
            &lt;mapping&gt;
            	&lt;level value="ERROR" /&gt;
            	&lt;eventLogEntryType value="Error" /&gt;
            &lt;/mapping&gt;
            &lt;mapping&gt;
            	&lt;level value="DEBUG" /&gt;
            	&lt;eventLogEntryType value="Information" /&gt;
            &lt;/mapping&gt;
            </code>
            <para>
            The Level is the standard log4net logging level and eventLogEntryType can be any value
            from the <see cref="T:System.Diagnostics.EventLogEntryType"/> enum, i.e.:
            <list type="bullet">
            <item><term>Error</term><description>an error event</description></item>
            <item><term>Warning</term><description>a warning event</description></item>
            <item><term>Information</term><description>an informational event</description></item>
            </list>
            </para>
            </remarks>
            <author>Aspi Havewala</author>
            <author>Douglas de la Torre</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Thomas Voss</author>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class
            with the specified <see cref="T:log4net.Layout.ILayout"/>.
            </summary>
            <param name="layout">The <see cref="T:log4net.Layout.ILayout"/> to use with this appender.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.AddMapping(log4net.Appender.EventLogAppender.Level2EventLogEntryType)">
            <summary>
            Add a mapping of level to <see cref="T:System.Diagnostics.EventLogEntryType"/> - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType"/> mapping to this appender.
            Each mapping defines the event log entry type for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.CreateEventSource(System.String,System.String,System.String)">
            <summary>
            Create an event log source
            </summary>
            <remarks>
            Uses different API calls under NET_2_0
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Writes the event to the system event log using the 
            <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
            
            <para>If the event has an <c>EventID</c> property (see <see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            set then this integer will be used as the event log event id.</para>
            
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.Core.Level)">
            <summary>
            Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/>
            </summary>
            <param name="level">the Level to convert to an EventLogEntryType</param>
            <returns>The equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/></returns>
            <remarks>
            Because there are fewer applicable <see cref="T:System.Diagnostics.EventLogEntryType"/>
            values to use in logging levels than there are in the 
            <see cref="T:log4net.Core.Level"/> this is a one way mapping. There is
            a loss of information during the conversion.
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_logName">
            <summary>
            The log name is the section in the event logs where the messages
            are stored.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
            <summary>
            Name of the application to use when logging.  This appears in the
            application column of the event log named by <see cref="F:log4net.Appender.EventLogAppender.m_logName"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_machineName">
            <summary>
            The name of the machine which holds the event log. This is
            currently only allowed to be '.' i.e. the current machine.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_levelMapping">
            <summary>
            Mapping from level object to EventLogEntryType
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_eventId">
            <summary>
            The event ID to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_category">
            <summary>
            The event category to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.declaringType">
            <summary>
            The fully qualified type of the EventLogAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE_DEFAULT">
            <summary>
            The maximum size supported by default.
            </summary>
            <remarks>
            http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx
            The 32766 documented max size is two bytes shy of 32K (I'm assuming 32766 
            may leave space for a two byte null terminator of #0#0). The 32766 max 
            length is what the .NET 4.0 source code checks for, but this is WRONG! 
            Strings with a length > 31839 on Windows Vista or higher can CORRUPT 
            the event log! See: System.Diagnostics.EventLogInternal.InternalWriteEvent() 
            for the use of the 32766 max size.
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE_VISTA_OR_NEWER">
            <summary>
            The maximum size supported by a windows operating system that is vista
            or newer.
            </summary>
            <remarks>
            See ReportEvent API:
            	http://msdn.microsoft.com/en-us/library/aa363679(VS.85).aspx
            ReportEvent's lpStrings parameter:
            "A pointer to a buffer containing an array of 
            null-terminated strings that are merged into the message before Event Viewer 
            displays the string to the user. This parameter must be a valid pointer 
            (or NULL), even if wNumStrings is zero. Each string is limited to 31,839 characters."
            
            Going beyond the size of 31839 will (at some point) corrupt the event log on Windows
            Vista or higher! It may succeed for a while...but you will eventually run into the
            error: "System.ComponentModel.Win32Exception : A device attached to the system is
            not functioning", and the event log will then be corrupt (I was able to corrupt 
            an event log using a length of 31877 on Windows 7).
            
            The max size for Windows Vista or higher is documented here:
            	http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx.
            Going over this size may succeed a few times but the buffer will overrun and 
            eventually corrupt the log (based on testing).
            
            The maxEventMsgSize size is based on the max buffer size of the lpStrings parameter of the ReportEvent API.
            The documented max size for EventLog.WriteEntry for Windows Vista and higher is 31839, but I'm leaving room for a
            terminator of #0#0, as we cannot see the source of ReportEvent (though we could use an API monitor to examine the
            buffer, given enough time).
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE">
            <summary>
            The maximum size that the operating system supports for
            a event log message.
            </summary>
            <remarks>
            Used to determine the maximum string length that can be written
            to the operating system event log and eventually truncate a string
            that exceeds the limits.
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.GetMaxEventLogMessageSize">
            <summary>
            This method determines the maximum event log message size allowed for
            the current environment.
            </summary>
            <returns></returns>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.LogName">
            <summary>
            The name of the log where messages will be stored.
            </summary>
            <value>
            The string name of the log where messages will be stored.
            </value>
            <remarks>
            <para>This is the name of the log as it appears in the Event Viewer
            tree. The default value is to log into the <c>Application</c>
            log, this is where most applications write their events. However
            if you need a separate log for your application (or applications)
            then you should set the <see cref="P:log4net.Appender.EventLogAppender.LogName"/> appropriately.</para>
            <para>This should not be used to distinguish your event log messages
            from those of other applications, the <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>
            property should be used to distinguish events. This property should be 
            used to group together events into a single log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
            <summary>
            Property used to set the Application name.  This appears in the
            event logs when logging.
            </summary>
            <value>
            The string used to distinguish events from different sources.
            </value>
            <remarks>
            Sets the event log source property.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.MachineName">
            <summary>
            This property is used to return the name of the computer to use
            when accessing the event logs.  Currently, this is the current
            computer, denoted by a dot "."
            </summary>
            <value>
            The string name of the machine holding the event log that 
            will be logged into.
            </value>
            <remarks>
            This property cannot be changed. It is currently set to '.'
            i.e. the local machine. This may be changed in future.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
            </value>
            <remarks>
            <para>
            The system security context used to write to the EventLog.
            </para>
            <para>
            Unless a <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.EventId">
            <summary>
            Gets or sets the <c>EventId</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
            <remarks>
            <para>
            The <c>EventID</c> of the event log entry will normally be
            set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            This property provides the fallback value which defaults to 0.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.Category">
            <summary>
            Gets or sets the <c>Category</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
            </summary>
            <remarks>
            <para>
            The <c>Category</c> of the event log entry will normally be
            set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.Core.LoggingEvent"/>.
            This property provides the fallback value which defaults to 0.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and its event log entry type.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType">
            <summary>
            The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
            </summary>
            <remarks>
            <para>
            Required property.
            The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender">
            <summary>
            Appends logging events to a file.
            </summary>
            <remarks>
            <para>
            Logging events are sent to the file specified by
            the <see cref="P:log4net.Appender.FileAppender.File"/> property.
            </para>
            <para>
            The file can be opened in either append or overwrite mode 
            by specifying the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property.
            If the file path is relative it is taken as relative from 
            the application base directory. The file encoding can be
            specified by setting the <see cref="P:log4net.Appender.FileAppender.Encoding"/> property.
            </para>
            <para>
            The layout's <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
            values will be written each time the file is opened and closed
            respectively. If the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is <see langword="true"/>
            then the file may contain multiple copies of the header and footer.
            </para>
            <para>
            This appender will first try to open the file for writing when <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/>
            is called. This will typically be during configuration.
            If the file cannot be opened for writing the appender will attempt
            to open the file again each time a message is logged to the appender.
            If the file cannot be opened for writing when a message is logged then
            the message will be discarded by this appender.
            </para>
            <para>
            The <see cref="T:log4net.Appender.FileAppender"/> supports pluggable file locking models via
            the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> property.
            The default behavior, implemented by <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> 
            is to obtain an exclusive write lock on the file until this appender is closed.
            The alternative models only hold a
            write lock while the appender is writing a logging event (<see cref="T:log4net.Appender.FileAppender.MinimalLock"/>)
            or synchronize by using a named system wide Mutex (<see cref="T:log4net.Appender.FileAppender.InterProcessLock"/>).
            </para>
            <para>
            All locking strategies have issues and you should seriously consider using a different strategy that
            avoids having multiple processes logging to the same file.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Rodrigo B. de Oliveira</author>
            <author>Douglas de la Torre</author>
            <author>Niall Daley</author>
        </member>
        <member name="T:log4net.Appender.TextWriterAppender">
            <summary>
            Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            <para>
            This appender may be used stand alone if initialized with an appropriate
            writer, however it is typically used as a base class for an appender that
            can open a <see cref="T:System.IO.TextWriter"/> to write to.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Douglas de la Torre</author>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and
            sets the output destination to a new <see cref="T:System.IO.StreamWriter"/> initialized 
            with the specified <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <param name="os">The <see cref="T:System.IO.Stream"/> to output to.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and sets
            the output destination to the specified <see cref="T:System.IO.StreamWriter"/>.
            </summary>
            <param name="layout">The layout to use with this appender</param>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to output to</param>
            <remarks>
            The <see cref="T:System.IO.TextWriter"/> must have been previously opened.
            </remarks>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
            <summary>
            This method determines if there is a sense in attempting to append.
            </summary>
            <remarks>
            <para>
            This method checks if an output target has been set and if a
            layout has been set. 
            </para>
            </remarks>
            <returns><c>false</c> if any of the preconditions fail.</returns>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes a log statement to the output stream if the output stream exists 
            and is writable.  
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent[])"/>
            method. 
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            This method writes all the bulk logged events to the output writer
            before flushing the stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.OnClose">
            <summary>
            Close this appender instance. The underlying stream or writer is also closed.
            </summary>
            <remarks>
            Closed appenders cannot be reused.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
            <summary>
            Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
            <summary>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Reset">
            <summary>
            Clears internal references to the underlying <see cref="T:System.IO.TextWriter"/> 
            and other variables.
            </summary>
            <remarks>
            <para>
            Subclasses can override this method for an alternate closing behavior.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
            <summary>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </summary>
            <remarks>
            <para>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
            <summary>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </summary>
            <remarks>
            <para>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.PrepareWriter">
            <summary>
            Called to allow a subclass to lazily initialize the writer
            </summary>
            <remarks>
            <para>
            This method is called when an event is logged and the <see cref="P:log4net.Appender.TextWriterAppender.Writer"/> or
            <see cref="P:log4net.Appender.TextWriterAppender.QuietWriter"/> have not been set. This allows a subclass to
            attempt to initialize the writer multiple times.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
            <summary>
            This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </summary>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying <see cref="T:System.IO.TextWriter"/> 
            or output stream will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TextWriterAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logging events are not actually persisted if and when the application 
            crashes.
            </para>
            <para>
            The default value is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.declaringType">
            <summary>
            The fully qualified type of the TextWriterAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
            <summary>
            Gets or set whether the appender will flush at the end 
            of each append operation.
            </summary>
            <value>
            <para>
            The default behavior is to flush at the end of each 
            append operation.
            </para>
            <para>
            If this option is set to <c>false</c>, then the underlying 
            stream can defer persisting the logging event to a later 
            time.
            </para>
            </value>
            <remarks>
            Avoiding the flush operation at the end of each append results in
            a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.Writer">
            <summary>
            Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
            </summary>
            <remarks>
            <para>
            The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
            </para>
            <para>
            The <see cref="T:System.IO.TextWriter"/> will be closed when the appender 
            instance is closed.
            </para>
            <para>
            <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
            <summary>
            Gets or set the <see cref="T:log4net.Core.IErrorHandler"/> and the underlying 
            <see cref="T:log4net.Util.QuietTextWriter"/>, if any, for this appender. 
            </summary>
            <value>
            The <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
            </value>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.QuietWriter">
            <summary>
            Gets or sets the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </summary>
            <value>
            The <see cref="T:log4net.Util.QuietTextWriter"/> where logging events are written.
            </value>
            <remarks>
            <para>
            This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
            will be written to. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
            <summary>
            Construct a new appender using the layout, file and append mode.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
            <param name="append">flag to indicate if the file should be appended to</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
            <summary>
            Construct a new appender using the layout and file specified.
            The file will be appended to.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ActivateOptions">
            <summary>
            Activate the options on the file appender. 
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            This will cause the file to be opened.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Reset">
            <summary>
            Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
            </summary>
            <remarks>
            <para>
            Resets the filename and the file stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.PrepareWriter">
            <summary>
            Called to initialize the file writer
            </summary>
            <remarks>
            <para>
            Will be called for each logged message until the file is
            successfully opened.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes a log statement to the output stream if the output stream exists 
            and is writable.  
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent[])"/>
            method. 
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            Acquires the output file locks once before writing all the events to
            the stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.WriteFooter">
            <summary>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </summary>
            <remarks>
            <para>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.WriteHeader">
            <summary>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </summary>
            <remarks>
            <para>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.CloseWriter">
            <summary>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.CloseFile">
            <summary>
            Closes the previously opened file.
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Layout.ILayout.Footer"/> to the file and then
            closes the file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SafeOpenFile(System.String,System.Boolean)">
            <summary>
            Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
            </summary>
            <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
            <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
            <remarks>
            <para>
            Calls <see cref="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)"/> but guarantees not to throw an exception.
            Errors are passed to the <see cref="P:log4net.Appender.TextWriterAppender.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
            <summary>
            Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
            </summary>
            <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
            <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
            <remarks>
            <para>
            If there was already an opened file, then the previous file
            is closed first.
            </para>
            <para>
            This method will ensure that the directory structure
            for the <paramref name="fileName"/> specified exists.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)">
            <summary>
            Sets the quiet writer used for file output
            </summary>
            <param name="fileStream">the file stream that has been opened for writing</param>
            <remarks>
            <para>
            This implementation of <see cref="M:SetQWForFiles(Stream)"/> creates a <see cref="T:System.IO.StreamWriter"/>
            over the <paramref name="fileStream"/> and passes it to the 
            <see cref="M:SetQWForFiles(TextWriter)"/> method.
            </para>
            <para>
            This method can be overridden by sub classes that want to wrap the
            <see cref="T:System.IO.Stream"/> in some way, for example to encrypt the output
            data using a <c>System.Security.Cryptography.CryptoStream</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
            <summary>
            Sets the quiet writer being used.
            </summary>
            <param name="writer">the writer over the file stream that has been opened for writing</param>
            <remarks>
            <para>
            This method can be overridden by sub classes that want to
            wrap the <see cref="T:System.IO.TextWriter"/> in some way.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified path.
            </summary>
            <param name="path">The path to convert.</param>
            <returns>The fully qualified path.</returns>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_appendToFile">
            <summary>
            Flag to indicate if we should append to the file
            or overwrite the file. The default is to append.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_fileName">
            <summary>
            The name of the log file.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_encoding">
            <summary>
            The encoding to use for the file stream.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_stream">
            <summary>
            The stream to log to. Has added locking semantics
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_lockingModel">
            <summary>
            The locking model to use
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.declaringType">
            <summary>
            The fully qualified type of the FileAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.File">
            <summary>
            Gets or sets the path to the file that logging will be written to.
            </summary>
            <value>
            The path to the file that logging will be written to.
            </value>
            <remarks>
            <para>
            If the path is relative it is taken as relative from 
            the application base directory.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.AppendToFile">
            <summary>
            Gets or sets a flag that indicates whether the file should be
            appended to or overwritten.
            </summary>
            <value>
            Indicates whether the file should be appended to or overwritten.
            </value>
            <remarks>
            <para>
            If the value is set to false then the file will be overwritten, if 
            it is set to true then the file will be appended to.
            </para>
            The default value is true.
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </value>
            <remarks>
            <para>
            The default encoding set is <see cref="P:System.Text.Encoding.Default"/>
            which is the encoding for the system's current ANSI code page.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.LockingModel">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to lock the file.
            </value>
            <remarks>
            <para>
            Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
            </para>
            <para>
            There are three built in locking models, <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>, <see cref="T:log4net.Appender.FileAppender.MinimalLock"/> and <see cref="T:log4net.Appender.FileAppender.InterProcessLock"/> .
            The first locks the file from the start of logging to the end, the 
            second locks only for the minimal amount of time when logging each message
            and the last synchronizes processes using a named system wide Mutex.
            </para>
            <para>
            The default locking model is the <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.LockingStream">
            <summary>
            Write only <see cref="T:System.IO.Stream"/> that uses the <see cref="T:log4net.Appender.FileAppender.LockingModelBase"/> 
            to manage access to an underlying resource.
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            True asynchronous writes are not supported, the implementation forces a synchronous write.
            </summary>
        </member>
        <member name="T:log4net.Core.LogException">
            <summary>
            Exception base type for log4net.
            </summary>
            <remarks>
            <para>
            This type extends <see cref="T:System.ApplicationException"/>. It
            does not add any new functionality but does differentiate the
            type of exception being thrown.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.LogException.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class with
            the specified message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <param name="innerException">A nested exception to include.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
            with the specified message and inner exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.LockingModelBase">
            <summary>
            Locking model base class
            </summary>
            <remarks>
            <para>
            Base class for the locking models available to the <see cref="T:log4net.Appender.FileAppender"/> derived loggers.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the output file
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Acquire the lock on the file in preparation for writing to it. 
            Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/>
            must be called to release the lock on the output file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Release the lock on the file. No further writes will be made to the 
            stream until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CreateStream(System.String,System.Boolean,System.IO.FileShare)">
            <summary>
            Helper method that creates a FileStream under CurrentAppender's SecurityContext.
            </summary>
            <remarks>
            <para>
            Typically called during OpenFile or AcquireLock. 
            </para>
            <para>
            If the directory portion of the <paramref name="filename"/> does not exist, it is created
            via Directory.CreateDirecctory.
            </para>
            </remarks>
            <param name="filename"></param>
            <param name="append"></param>
            <param name="fileShare"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseStream(System.IO.Stream)">
            <summary>
            Helper method to close <paramref name="stream"/> under CurrentAppender's SecurityContext.
            </summary>
            <remarks>
            Does not set <paramref name="stream"/> to null.
            </remarks>
            <param name="stream"></param>
        </member>
        <member name="P:log4net.Appender.FileAppender.LockingModelBase.CurrentAppender">
            <summary>
            Gets or sets the <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
            </summary>
            <value>
            The <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
            </value>
            <remarks>
            <para>
            The file appender this locking model is attached to and working on
            behalf of.
            </para>
            <para>
            The file appender is used to locate the security context and the error handler to use.
            </para>
            <para>
            The value of this property will be set before <see cref="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)"/> is
            called.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.ExclusiveLock">
            <summary>
            Hold an exclusive lock on the output file
            </summary>
            <remarks>
            <para>
            Open the file once for writing and hold it open until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/> is called. 
            Maintains an exclusive lock on the file during this time.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the file specified and prepare for logging.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Does nothing. The lock is already taken
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Does nothing. The lock will be released when the file is closed.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.MinimalLock">
            <summary>
            Acquires the file lock for each write
            </summary>
            <remarks>
            <para>
            Opens the file once for each <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>/<see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> cycle, 
            thus holding the lock for the minimal amount of time. This method of locking
            is considerably slower than <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> but allows 
            other processes to move/delete the log file whilst logging continues.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Prepares to open the file when the first message is logged.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>,
            <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.MinimalLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Acquire the lock on the file in preparation for writing to it. 
            Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/>
            must be called to release the lock on the output file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock">
            <summary>
            Release the lock on the file
            </summary>
            <remarks>
            <para>
            Release the lock on the file. No further writes will be made to the 
            stream until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called again.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.FileAppender.InterProcessLock">
            <summary>
            Provides cross-process file locking.
            </summary>
            <author>Ron Grabowski</author>
            <author>Steve Wranovsky</author>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
            <summary>
            Open the file specified and prepare for logging.
            </summary>
            <param name="filename">The filename to use</param>
            <param name="append">Whether to append to the file, or overwrite</param>
            <param name="encoding">The encoding to use</param>
            <remarks>
            <para>
            Open the file specified and prepare for logging. 
            No writes will be made until <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/> is called.
            Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/>,
            -<see cref="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile">
            <summary>
            Close the file
            </summary>
            <remarks>
            <para>
            Close the file. No further writes will be made.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock">
            <summary>
            Acquire the lock on the file
            </summary>
            <returns>A stream that is ready to be written to.</returns>
            <remarks>
            <para>
            Does nothing. The lock is already taken
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Appender.ForwardingAppender">
            <summary>
            This appender forwards logging events to attached appenders.
            </summary>
            <remarks>
            <para>
            The forwarding appender can be used to specify different thresholds
            and filters for the same appender at different locations within the hierarchy.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ForwardingAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.OnClose">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Forward the logging event to the attached appenders 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Delivers the logging event to all the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            Forward the logging events to the attached appenders 
            </summary>
            <param name="loggingEvents">The array of events to log.</param>
            <remarks>
            <para>
            Delivers the logging events to all the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
            instance.
            </summary>
            <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
            <remarks>
            <para>
            If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.GetAppender(System.String)">
            <summary>
            Looks for the appender with the specified name.
            </summary>
            <param name="name">The name of the appender to lookup.</param>
            <returns>
            The appender with the specified name, or <c>null</c>.
            </returns>
            <remarks>
            <para>
            Get the named appender attached to this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAllAppenders">
            <summary>
            Removes all previously added appenders from this appender.
            </summary>
            <remarks>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </remarks>
        </member>
        <member name="F:log4net.Appender.ForwardingAppender.m_appenderAttachedImpl">
            <summary>
            Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="P:log4net.Appender.ForwardingAppender.Appenders">
            <summary>
            Gets the appenders contained in this appender as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/> 
            is returned.
            </remarks>
            <returns>
            A collection of the appenders in this appender.
            </returns>
        </member>
        <member name="T:log4net.Appender.LocalSyslogAppender">
            <summary>
            Logs events to a local syslog service.
            </summary>
            <remarks>
            <note>
            This appender uses the POSIX libc library functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c>.
            If these functions are not available on the local system then this appender will not work!
            </note>
            <para>
            The functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c> are specified in SUSv2 and 
            POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service.
            </para>
            <para>
            This appender talks to a local syslog service. If you need to log to a remote syslog
            daemon and you cannot configure your local syslog service to do this you may be
            able to use the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> to log via UDP.
            </para>
            <para>
            Syslog messages must have a facility and and a severity. The severity
            is derived from the Level of the logging event.
            The facility must be chosen from the set of defined syslog 
            <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
            and cannot be extended.
            </para>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
            </para>
            </remarks>
            <author>Rob Lyon</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class.
            </summary>
            <remarks>
            This instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class is set up to write 
            to a local syslog service.
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)">
            <summary>
            Add a mapping of level to severity
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Adds a <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/> to this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to a remote syslog daemon.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.OnClose">
            <summary>
            Close the syslog when the appender is closed
            </summary>
            <remarks>
            <para>
            Close the syslog when the appender is closed
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.GetSeverity(log4net.Core.Level)">
            <summary>
            Translates a log4net level to a syslog severity.
            </summary>
            <param name="level">A log4net level.</param>
            <returns>A syslog severity.</returns>
            <remarks>
            <para>
            Translates a log4net level to a syslog severity.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.GeneratePriority(log4net.Appender.LocalSyslogAppender.SyslogFacility,log4net.Appender.LocalSyslogAppender.SyslogSeverity)">
            <summary>
            Generate a syslog priority.
            </summary>
            <param name="facility">The syslog facility.</param>
            <param name="severity">The syslog severity.</param>
            <returns>A syslog priority.</returns>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.m_facility">
            <summary>
            The facility. The default facility is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.m_identity">
            <summary>
            The message identity
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.m_handleToIdentity">
            <summary>
            Marshaled handle to the identity string. We have to hold on to the
            string as the <c>openlog</c> and <c>syslog</c> APIs just hold the
            pointer to the ident and dereference it for each log message.
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.m_levelMapping">
            <summary>
            Mapping from level object to syslog severity
            </summary>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.openlog(System.IntPtr,System.Int32,log4net.Appender.LocalSyslogAppender.SyslogFacility)">
            <summary>
            Open connection to system logger.
            </summary>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.syslog(System.Int32,System.String,System.String)">
            <summary>
            Generate a log message.
            </summary>
            <remarks>
            <para>
            The libc syslog method takes a format string and a variable argument list similar
            to the classic printf function. As this type of vararg list is not supported
            by C# we need to specify the arguments explicitly. Here we have specified the
            format string with a single message argument. The caller must set the format 
            string to <c>"%s"</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.LocalSyslogAppender.closelog">
            <summary>
            Close descriptor used to write to system logger.
            </summary>
        </member>
        <member name="P:log4net.Appender.LocalSyslogAppender.Identity">
            <summary>
            Message identity
            </summary>
            <remarks>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.LocalSyslogAppender.Facility">
            <summary>
            Syslog facility
            </summary>
            <remarks>
            Set to one of the <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The list of
            facilities is predefined and cannot be extended. The default value
            is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
            </remarks>
        </member>
        <member name="P:log4net.Appender.LocalSyslogAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.LocalSyslogAppender.SyslogSeverity">
            <summary>
            syslog severities
            </summary>
            <remarks>
            <para>
            The log4net Level maps to a syslog severity using the
            <see cref="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)"/> method and the <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/>
            class. The severity is set on <see cref="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Emergency">
            <summary>
            system is unusable
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Alert">
            <summary>
            action must be taken immediately
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Critical">
            <summary>
            critical conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Error">
            <summary>
            error conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Warning">
            <summary>
            warning conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Notice">
            <summary>
            normal but significant condition
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Informational">
            <summary>
            informational
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Debug">
            <summary>
            debug-level messages
            </summary>
        </member>
        <member name="T:log4net.Appender.LocalSyslogAppender.SyslogFacility">
            <summary>
            syslog facilities
            </summary>
            <remarks>
            <para>
            The syslog facility defines which subsystem the logging comes from.
            This is set on the <see cref="P:log4net.Appender.LocalSyslogAppender.Facility"/> property.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Kernel">
            <summary>
            kernel messages
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User">
            <summary>
            random user-level messages
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Mail">
            <summary>
            mail system
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Daemons">
            <summary>
            system daemons
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization">
            <summary>
            security/authorization messages
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Syslog">
            <summary>
            messages generated internally by syslogd
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Printer">
            <summary>
            line printer subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.News">
            <summary>
            network news subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Uucp">
            <summary>
            UUCP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock">
            <summary>
            clock (cron/at) daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization2">
            <summary>
            security/authorization  messages (private)
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ftp">
            <summary>
            ftp daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ntp">
            <summary>
            NTP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Audit">
            <summary>
            log audit
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Alert">
            <summary>
            log alert
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock2">
            <summary>
            clock daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local0">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local1">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local2">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local3">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local4">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local5">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local6">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local7">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="T:log4net.Appender.LocalSyslogAppender.LevelSeverity">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </summary>
            <remarks>
            <para>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity">
            <summary>
            The mapped syslog severity for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped syslog severity for the specified level
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.ManagedColoredConsoleAppender">
            <summary>
            Appends colorful logging events to the console, using the .NET 2
            built-in capabilities.
            </summary>
            <remarks>
            <para>
            ManagedColoredConsoleAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user. It also allows the color of a specific type of message to be set.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            When configuring the colored console appender, mappings should be
            specified to map logging levels to colors. For example:
            </para>
            <code lang="XML" escaped="true">
            <mapping>
            	<level value="ERROR"/>
            	<foreColor value="DarkRed"/>
            	<backColor value="White"/>
            </mapping>
            <mapping>
            	<level value="WARN"/>
            	<foreColor value="Yellow"/>
            </mapping>
            <mapping>
            	<level value="INFO"/>
            	<foreColor value="White"/>
            </mapping>
            <mapping>
            	<level value="DEBUG"/>
            	<foreColor value="Blue"/>
            </mapping>
            </code>
            <para>
            The Level is the standard log4net logging level while
            ForeColor and BackColor are the values of <see cref="T:System.ConsoleColor"/>
            enumeration.
            </para>
            <para>
            Based on the ColoredConsoleAppender
            </para>
            </remarks>
            <author>Rick Hobbs</author>
            <author>Nicko Cadell</author>
            <author>Pavlos Touboulidis</author>
        </member>
        <member name="F:log4net.Appender.ManagedColoredConsoleAppender.ConsoleOut">
            <summary>
            The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ManagedColoredConsoleAppender.ConsoleError">
            <summary>
            The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ManagedColoredConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ManagedColoredConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ManagedColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ManagedColoredConsoleAppender.AddMapping(log4net.Appender.ManagedColoredConsoleAppender.LevelColors)">
            <summary>
            Add a mapping of level to color - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.ManagedColoredConsoleAppender.LevelColors"/> mapping to this appender.
            Each mapping defines the foreground and background colors
            for a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ManagedColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ManagedColoredConsoleAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to color mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ManagedColoredConsoleAppender.m_writeToErrorStream">
            <summary>
            Flag to write output to the error stream rather than the standard output stream
            </summary>
        </member>
        <member name="F:log4net.Appender.ManagedColoredConsoleAppender.m_levelMapping">
            <summary>
            Mapping from level object to color value
            </summary>
        </member>
        <member name="P:log4net.Appender.ManagedColoredConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
            <remarks>
            <para>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ManagedColoredConsoleAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.ManagedColoredConsoleAppender.LevelColors">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
            <remarks>
            <para>
            Defines the mapping between a level and the color it should be displayed in.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ManagedColoredConsoleAppender.LevelColors.ForeColor">
            <summary>
            The mapped foreground color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped foreground color for the specified level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ManagedColoredConsoleAppender.LevelColors.BackColor">
            <summary>
            The mapped background color for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped background color for the specified level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.MemoryAppender">
            <summary>
            Stores logging events in an array.
            </summary>
            <remarks>
            <para>
            The memory appender stores all the logging events
            that are appended in an in-memory array.
            </para>
            <para>
            Use the <see cref="M:log4net.Appender.MemoryAppender.GetEvents"/> method to get
            the current list of events that have been appended.
            </para>
            <para>
            Use the <see cref="M:Clear()"/> method to clear the
            current list of events.
            </para>
            </remarks>
            <author>Julian Biddle</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.GetEvents">
            <summary>
            Gets the events that have been logged.
            </summary>
            <returns>The events that have been logged</returns>
            <remarks>
            <para>
            Gets the events that have been logged.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Clear">
            <summary>
            Clear the list of events
            </summary>
            <remarks>
            Clear the list of events
            </remarks>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
            <summary>
            The list of events that have been appended.
            </summary>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating whether only part of the logging event 
            data should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the event 
            data to be fixed and stored in the appender, hereby improving performance. 
            </para>
            <para>
            See <see cref="M:LoggingEvent.FixVolatileData(bool)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.Fix">
            <summary>
            Gets or sets the fields that will be fixed in the event
            </summary>
            <remarks>
            <para>
            The logging event needs to have certain thread specific values 
            captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
            for details.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.NetSendAppender">
            <summary>
            Logs entries by sending network messages using the 
            <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> native function.
            </summary>
            <remarks>
            <para>
            You can send messages only to names that are active 
            on the network. If you send the message to a user name, 
            that user must be logged on and running the Messenger 
            service to receive the message.
            </para>
            <para>
            The receiver will get a top most window displaying the 
            messages one at a time, therefore this appender should 
            not be used to deliver a high volume of messages.
            </para>
            <para>
            The following table lists some possible uses for this appender :
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Action</term>
                    <description>Property Value(s)</description>
                </listheader>
                <item>
                    <term>Send a message to a user account on the local machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a user account on a remote machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the remote machine&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a domain user account</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of a domain controller | uninitialized&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to all the names in a workgroup or domain</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;workgroup name | domain name&gt;*
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message from the local machine to a remote machine</term>
                    <description>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine | uninitialized&gt;
                        </para>
                        <para>
                        <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;name of the remote machine&gt;
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            <b>Note :</b> security restrictions apply for sending 
            network messages, see <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> 
            for more information.
            </para>
            </remarks>
            <example>
            <para>
            An example configuration section to log information 
            using this appender from the local machine, named 
            LOCAL_PC, to machine OPERATOR_PC :
            </para>
            <code lang="XML" escaped="true">
            <appender name="NetSendAppender_Operator" type="log4net.Appender.NetSendAppender">
                <server value="LOCAL_PC"/>
                <recipient value="OPERATOR_PC"/>
                <layout type="log4net.Layout.PatternLayout" value="%-5p %c [%x] - %m%n"/>
            </appender>
            </code>
            </example>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_server">
            <summary>
            The DNS or NetBIOS name of the server on which the function is to execute.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_sender">
            <summary>
            The sender of the network message.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_recipient">
            <summary>
            The message alias to which the message should be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.#ctor">
            <summary>
            Initializes the appender.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was not specified.</exception>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using a network message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
            <summary>
            Sends a buffer of information to a registered message alias.
            </summary>
            <param name="serverName">The DNS or NetBIOS name of the server on which the function is to execute.</param>
            <param name="msgName">The message alias to which the message buffer should be sent</param>
            <param name="fromName">The originator of the message.</param>
            <param name="buffer">The message text.</param>
            <param name="bufferSize">The length, in bytes, of the message text.</param>
            <remarks>
            <para>
            The following restrictions apply for sending network messages:
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Platform</term>
                    <description>Requirements</description>
                </listheader>
                <item>
                    <term>Windows NT</term>
                    <description>
                        <para>
                        No special group membership is required to send a network message.
                        </para>
                        <para>
                        Admin, Accounts, Print, or Server Operator group membership is required to 
                        successfully send a network message on a remote server.
                        </para>
                    </description>
                </item>
                <item>
                    <term>Windows 2000 or later</term>
                    <description>
                        <para>
                        If you send a message on a domain controller that is running Active Directory, 
                        access is allowed or denied based on the access control list (ACL) for the securable 
                        object. The default ACL permits only Domain Admins and Account Operators to send a network message. 
                        </para>
                        <para>
                        On a member server or workstation, only Administrators and Server Operators can send a network message. 
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            For more information see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp">Security Requirements for the Network Management Functions</a>.
            </para>
            </remarks>
            <returns>
            <para>
            If the function succeeds, the return value is zero.
            </para>
            </returns>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Sender">
            <summary>
            Gets or sets the sender of the message.
            </summary>
            <value>
            The sender of the message.
            </value>
            <remarks>
            If this property is not specified, the message is sent from the local computer.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Recipient">
            <summary>
            Gets or sets the message alias to which the message should be sent.
            </summary>
            <value>
            The recipient of the message.
            </value>
            <remarks>
            This property should always be specified in order to send a message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Server">
            <summary>
            Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
            </summary>
            <value>
            DNS or NetBIOS name of the remote server on which the function is to execute.
            </value>
            <remarks>
            <para>
            For Windows NT 4.0 and earlier, the string should begin with \\.
            </para>
            <para>
            If this property is not specified, the local computer is used. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.OutputDebugStringAppender">
            <summary>
            Appends log events to the OutputDebugString system.
            </summary>
            <remarks>
            <para>
            OutputDebugStringAppender appends log events to the
            OutputDebugString system.
            </para>
            <para>
            The string is passed to the native <c>OutputDebugString</c> 
            function.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.OutputDebugStringAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Write the logging event to the output debug string API
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>
            Write the logging event to the output debug string API
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.OutputDebugString(System.String)">
            <summary>
            Stub for OutputDebugString native method
            </summary>
            <param name="message">the string to output</param>
            <remarks>
            <para>
            Stub for OutputDebugString native method
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.OutputDebugStringAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender">
            <summary>
            Logs events to a remote syslog daemon.
            </summary>
            <remarks>
            <para>
            The BSD syslog protocol is used to remotely log to
            a syslog daemon. The syslogd listens for for messages
            on UDP port 514.
            </para>
            <para>
            The syslog UDP protocol is not authenticated. Most syslog daemons
            do not accept remote log messages because of the security implications.
            You may be able to use the LocalSyslogAppender to talk to a local
            syslog service.
            </para>
            <para>
            There is an RFC 3164 that claims to document the BSD Syslog Protocol.
            This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html.
            This appender generates what the RFC calls an "Original Device Message",
            i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation
            this format of message will be accepted by all current syslog daemon
            implementations. The daemon will attach the current time and the source
            hostname or IP address to any messages received.
            </para>
            <para>
            Syslog messages must have a facility and and a severity. The severity
            is derived from the Level of the logging event.
            The facility must be chosen from the set of defined syslog 
            <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
            and cannot be extended.
            </para>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
            </para>
            </remarks>
            <author>Rob Lyon</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Appender.UdpAppender">
             <summary>
             Sends logging events as connectionless UDP datagrams to a remote host or a 
             multicast group using an <see cref="T:System.Net.Sockets.UdpClient"/>.
             </summary>
             <remarks>
             <para>
             UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
             </para>
             <para>
             To view the logging results, a custom application can be developed that listens for logging 
             events.
             </para>
             <para>
             When decoding events send via this appender remember to use the same encoding
             to decode the events as was used to send the events. See the <see cref="P:log4net.Appender.UdpAppender.Encoding"/>
             property to specify the encoding to use.
             </para>
             </remarks>
             <example>
             This example shows how to log receive logging events that are sent 
             on IP address 244.0.0.1 and port 8080 to the console. The event is 
             encoded in the packet as a unicode string and it is decoded as such. 
             <code lang="C#">
             IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
             UdpClient udpClient;
             byte[] buffer;
             string loggingEvent;
             
             try 
             {
                 udpClient = new UdpClient(8080);
                 
                 while(true) 
                 {
                     buffer = udpClient.Receive(ref remoteEndPoint);
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
                     Console.WriteLine(loggingEvent);
                 }
             } 
             catch(Exception e) 
             {
                 Console.WriteLine(e.ToString());
             }
             </code>
             <code lang="Visual Basic">
             Dim remoteEndPoint as IPEndPoint
             Dim udpClient as UdpClient
             Dim buffer as Byte()
             Dim loggingEvent as String
             
             Try 
                 remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
                 udpClient = new UdpClient(8080)
            
                 While True
                     buffer = udpClient.Receive(ByRef remoteEndPoint)
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
                     Console.WriteLine(loggingEvent)
                 Wend
             Catch e As Exception
                 Console.WriteLine(e.ToString())
             End Try
             </code>
             <para>
             An example configuration section to log information using this appender to the 
             IP 224.0.0.1 on port 8080:
             </para>
             <code lang="XML" escaped="true">
             <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
                 <remoteAddress value="224.0.0.1"/>
                 <remotePort value="8080"/>
                 <layout type="log4net.Layout.PatternLayout" value="%-5level %logger [%ndc] - %message%newline"/>
             </appender>
             </code>
             </example>
             <author>Gert Driesen</author>
             <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.UdpAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender"/> class.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was specified or 
            an invalid remote or local TCP port number was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was not specified.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The TCP port number assigned to <see cref="P:log4net.Appender.UdpAppender.LocalPort"/> or <see cref="P:log4net.Appender.UdpAppender.RemotePort"/> is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="M:log4net.Appender.UdpAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using an UDP datagram.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.OnClose">
            <summary>
            Closes the UDP connection and releases all resources associated with 
            this <see cref="T:log4net.Appender.UdpAppender"/> instance.
            </summary>
            <remarks>
            <para>
            Disables the underlying <see cref="T:System.Net.Sockets.UdpClient"/> and releases all managed 
            and unmanaged resources associated with the <see cref="T:log4net.Appender.UdpAppender"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
            <summary>
            Initializes the underlying  <see cref="T:System.Net.Sockets.UdpClient"/> connection.
            </summary>
            <remarks>
            <para>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> is initialized and binds to the 
            port number from which you intend to communicate.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
            <summary>
            The IP address of the remote host or multicast group to which 
            the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remotePort">
            <summary>
            The TCP port number of the remote host or multicast group to 
            which the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
            <summary>
            The cached remote endpoint to which the logging events will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_localPort">
            <summary>
            The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_client">
            <summary>
            The <see cref="T:System.Net.Sockets.UdpClient"/> instance that will be used for sending the 
            logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_encoding">
            <summary>
            The encoding to use for the packet.
            </summary>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
            <summary>
            Gets or sets the IP address of the remote host or multicast group to which
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            The IP address of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            <para>
            Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
            239.255.255.255).  Multicast packets can pass across different networks through routers, so
            it is possible to use multicasts in an Internet scenario as long as your network provider 
            supports multicasting.
            </para>
            <para>
            Hosts that want to receive particular multicast messages must register their interest by joining
            the multicast group.  Multicast messages are not sent to networks where no host has joined
            the multicast group.  Class <b>D</b> IP addresses are used for multicast groups, to differentiate
            them from normal host addresses, allowing nodes to easily detect if a message is of interest.
            </para>
            <para>
            Static multicast addresses that are needed globally are assigned by IANA.  A few examples are listed in the table below:
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>IP Address</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term>224.0.0.1</term>
                    <description>
                        <para>
                        Sends a message to all system on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.2</term>
                    <description>
                        <para>
                        Sends a message to all routers on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.12</term>
                    <description>
                        <para>
                        The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            A complete list of actually reserved multicast addresses and their owners in the ranges
            defined by RFC 3171 can be found at the <A href="http://www.iana.org/assignments/multicast-addresses">IANA web site</A>. 
            </para>
            <para>
            The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative 
            addresses.  These addresses can be reused with other local groups.  Routers are typically 
            configured with filters to prevent multicast traffic in this range from flowing outside
            of the local network.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemotePort">
            <summary>
            Gets or sets the TCP port number of the remote host or multicast group to which 
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will send messages to this TCP port number
            on the remote host or multicast group.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.LocalPort">
            <summary>
            Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </value>
            <remarks>
            <para>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will bind to this port for sending messages.
            </para>
            <para>
            Setting the value to 0 (the default) will cause the udp client not to bind to
            a local port.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Client">
            <summary>
            Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.UdpAppender"/> creates a <see cref="T:System.Net.Sockets.UdpClient"/> to send logging events 
            over a network.  Classes deriving from <see cref="T:log4net.Appender.UdpAppender"/> can use this
            property to get or set this <see cref="T:System.Net.Sockets.UdpClient"/>.  Use the underlying <see cref="T:System.Net.Sockets.UdpClient"/>
            returned from <see cref="P:log4net.Appender.UdpAppender.Client"/> if you require access beyond that which 
            <see cref="T:log4net.Appender.UdpAppender"/> provides.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
            <summary>
            Gets or sets the cached remote endpoint to which the logging events should be sent.
            </summary>
            <value>
            The cached remote endpoint to which the logging events will be sent.
            </value>
            <remarks>
            The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method will initialize the remote endpoint 
            with the values of the <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> and <see cref="P:log4net.Appender.UdpAppender.RemotePort"/>
            properties.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.DefaultSyslogPort">
            <summary>
            Syslog port 514
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.c_renderBufferSize">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.c_renderBufferMaxCapacity">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class.
            </summary>
            <remarks>
            This instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class is set up to write 
            to a remote syslog daemon.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.AddMapping(log4net.Appender.RemoteSyslogAppender.LevelSeverity)">
            <summary>
            Add a mapping of level to severity
            </summary>
            <param name="mapping">The mapping to add</param>
            <remarks>
            <para>
            Add a <see cref="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity"/> mapping to this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to a remote syslog daemon.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.ActivateOptions">
            <summary>
            Initialize the options for this appender
            </summary>
            <remarks>
            <para>
            Initialize the level to syslog severity mappings set on this appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.GetSeverity(log4net.Core.Level)">
            <summary>
            Translates a log4net level to a syslog severity.
            </summary>
            <param name="level">A log4net level.</param>
            <returns>A syslog severity.</returns>
            <remarks>
            <para>
            Translates a log4net level to a syslog severity.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemoteSyslogAppender.GeneratePriority(log4net.Appender.RemoteSyslogAppender.SyslogFacility,log4net.Appender.RemoteSyslogAppender.SyslogSeverity)">
            <summary>
            Generate a syslog priority.
            </summary>
            <param name="facility">The syslog facility.</param>
            <param name="severity">The syslog severity.</param>
            <returns>A syslog priority.</returns>
            <remarks>
            <para>
            Generate a syslog priority.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_facility">
            <summary>
            The facility. The default facility is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_identity">
            <summary>
            The message identity
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.m_levelMapping">
            <summary>
            Mapping from level object to syslog severity
            </summary>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.Identity">
            <summary>
            Message identity
            </summary>
            <remarks>
            <para>
            An identifier is specified with each log message. This can be specified
            by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
            as the tag) must not contain white space. The default value for the
            identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.Facility">
            <summary>
            Syslog facility
            </summary>
            <remarks>
            Set to one of the <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The list of
            facilities is predefined and cannot be extended. The default value
            is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogSeverity">
            <summary>
            syslog severities
            </summary>
            <remarks>
            <para>
            The syslog severities.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Emergency">
            <summary>
            system is unusable
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Alert">
            <summary>
            action must be taken immediately
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Critical">
            <summary>
            critical conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Error">
            <summary>
            error conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Warning">
            <summary>
            warning conditions
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Notice">
            <summary>
            normal but significant condition
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Informational">
            <summary>
            informational
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Debug">
            <summary>
            debug-level messages
            </summary>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility">
            <summary>
            syslog facilities
            </summary>
            <remarks>
            <para>
            The syslog facilities
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Kernel">
            <summary>
            kernel messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User">
            <summary>
            random user-level messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Mail">
            <summary>
            mail system
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Daemons">
            <summary>
            system daemons
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization">
            <summary>
            security/authorization messages
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Syslog">
            <summary>
            messages generated internally by syslogd
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Printer">
            <summary>
            line printer subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.News">
            <summary>
            network news subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Uucp">
            <summary>
            UUCP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock">
            <summary>
            clock (cron/at) daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization2">
            <summary>
            security/authorization  messages (private)
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ftp">
            <summary>
            ftp daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ntp">
            <summary>
            NTP subsystem
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Audit">
            <summary>
            log audit
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Alert">
            <summary>
            log alert
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock2">
            <summary>
            clock daemon
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local0">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local1">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local2">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local3">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local4">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local5">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local6">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local7">
            <summary>
            reserved for local use
            </summary>
        </member>
        <member name="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </summary>
            <remarks>
            <para>
            A class to act as a mapping between the level that a logging call is made at and
            the syslog severity that is should be logged at.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemoteSyslogAppender.LevelSeverity.Severity">
            <summary>
            The mapped syslog severity for the specified level
            </summary>
            <remarks>
            <para>
            Required property.
            The mapped syslog severity for the specified level
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemotingAppender">
            <summary>
            Delivers logging events to a remote logging sink. 
            </summary>
            <remarks>
            <para>
            This Appender is designed to deliver events to a remote sink. 
            That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            interface. It delivers the events using .NET remoting. The
            object to deliver events to is specified by setting the
            appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
            <para>
            The RemotingAppender buffers events before sending them. This allows it to 
            make more efficient use of the remoting infrastructure.</para>
            <para>
            Once the buffer is full the events are still not sent immediately. 
            They are scheduled to be sent using a pool thread. The effect is that 
            the send occurs asynchronously. This is very important for a 
            number of non obvious reasons. The remoting infrastructure will 
            flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
            remoting boundary. If the server is not contactable then
            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
            having side effects on the calling application the remoting call must be made
            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
            the events will block in the thread pool manager until a thread is available.</para>
            <para>
            Because the events are sent asynchronously using pool threads it is possible to close 
            this appender before all the queued events have been sent.
            When closing the appender attempts to wait until all the queued events have been sent, but 
            this will timeout after 30 seconds regardless.</para>
            <para>
            If this appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
            event has fired it may not be possible to send all the queued events. During process
            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
            event handler is allowed to run for. If the runtime terminates the threads before
            the queued events have been sent then they will be lost. To ensure that all events
            are sent the appender must be closed before the application exits. See 
            <see cref="M:log4net.Core.LoggerManager.Shutdown"/> for details on how to shutdown
            log4net programmatically.</para>
            </remarks>
            <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Send the contents of the buffer to the remote sink.
            </summary>
            <remarks>
            The events are not sent immediately. They are scheduled to be sent
            using a pool thread. The effect is that the send occurs asynchronously.
            This is very important for a number of non obvious reasons. The remoting
            infrastructure will flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
            remoting boundary. If the server is not contactable then
            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
            having side effects on the calling application the remoting call must be made
            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
            the events will block in the thread pool manager until a thread is available.
            </remarks>
            <param name="events">The events to send.</param>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.OnClose">
            <summary>
            Override base class close.
            </summary>
            <remarks>
            <para>
            This method waits while there are queued work items. The events are
            sent asynchronously using <see cref="T:System.Threading.ThreadPool"/> work items. These items
            will be sent once a thread pool thread is available to send them, therefore
            it is possible to close the appender before all the queued events have been
            sent.</para>
            <para>
            This method attempts to wait until all the queued events have been sent, but this 
            method will timeout after 30 seconds regardless.</para>
            <para>
            If the appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
            event has fired it may not be possible to send all the queued events. During process
            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
            event handler is allowed to run for.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
            <summary>
            A work item is being queued into the thread pool
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
            <summary>
            A work item from the thread pool has completed
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
            <summary>
            Send the contents of the buffer to the remote sink.
            </summary>
            <remarks>
            This method is designed to be used with the <see cref="T:System.Threading.ThreadPool"/>.
            This method expects to be passed an array of <see cref="T:log4net.Core.LoggingEvent"/>
            objects in the state param.
            </remarks>
            <param name="state">the logging events to send</param>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
            <summary>
            The URL of the remote sink.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
            <summary>
            The local proxy (.NET remoting) for the remote logging sink.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
            <summary>
            The number of queued callbacks currently waiting or executing
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
            <summary>
            Event used to signal when there are no queued work items
            </summary>
            <remarks>
            This event is set when there are no queued work items. In this
            state it is safe to close the appender.
            </remarks>
        </member>
        <member name="P:log4net.Appender.RemotingAppender.Sink">
            <summary>
            Gets or sets the URL of the well-known object that will accept 
            the logging events.
            </summary>
            <value>
            The well-known URL of the remote sink.
            </value>
            <remarks>
            <para>
            The URL of the remoting sink that will accept logging events.
            The sink must implement the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            interface.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
            <summary>
            Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
            </summary>
            <remarks>
            This interface must be implemented by a remoting sink
            if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
            to deliver logging events to the sink.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
            <summary>
            Delivers logging events to the remote sink
            </summary>
            <param name="events">Array of events to log.</param>
            <remarks>
            <para>
            Delivers logging events to the remote sink
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender">
            <summary>
            Appender that rolls log files based on size or date or both.
            </summary>
            <remarks>
            <para>
            RollingFileAppender can roll log files based on size or date or both
            depending on the setting of the <see cref="P:log4net.Appender.RollingFileAppender.RollingStyle"/> property.
            When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Size"/> the log file will be rolled
            once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
            When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Date"/> the log file will be rolled
            once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
            is crossed.
            When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/> the log file will be
            rolled once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
            is crossed, but within a date boundary the file will also be rolled
            once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
            When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> the log file will be rolled when
            the appender is configured. This effectively means that the log file can be
            rolled once per program execution.
            </para>
            <para>
            A of few additional optional features have been added:
            <list type="bullet">
            <item>Attach date pattern for current log file <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/></item>
            <item>Backup number increments for newer files <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/></item>
            <item>Infinite number of backups by file size <see cref="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups"/></item>
            </list>
            </para>
            
            <note>
            <para>
            For large or infinite numbers of backup files a <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> 
            greater than zero is highly recommended, otherwise all the backup files need
            to be renamed each time a new backup is created.
            </para>
            <para>
            When Date/Time based rolling is used setting <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> 
            to <see langword="true"/> will reduce the number of file renamings to few or none.
            </para>
            </note>
            
            <note type="caution">
            <para>
            Changing <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> or <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> without clearing
            the log file directory of backup files will cause unexpected and unwanted side effects.  
            </para>
            </note>
            
            <para>
            If Date/Time based rolling is enabled this appender will attempt to roll existing files
            in the directory without a Date/Time tag based on the last write date of the base log file.
            The appender only rolls the log file when a message is logged. If Date/Time based rolling 
            is enabled then the appender will not roll the log file at the Date/Time boundary but
            at the point when the next message is logged after the boundary has been crossed.
            </para>
            
            <para>
            The <see cref="T:log4net.Appender.RollingFileAppender"/> extends the <see cref="T:log4net.Appender.FileAppender"/> and
            has the same behavior when opening the log file.
            The appender will first try to open the file for writing when <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>
            is called. This will typically be during configuration.
            If the file cannot be opened for writing the appender will attempt
            to open the file again each time a message is logged to the appender.
            If the file cannot be opened for writing when a message is logged then
            the message will be discarded by this appender.
            </para>
            <para>
            When rolling a backup file necessitates deleting an older backup file the
            file to be deleted is moved to a temporary name before being deleted.
            </para>
            
            <note type="caution">
            <para>
            A maximum number of backup files when rolling on date/time boundaries is not supported.
            </para>
            </note>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Aspi Havewala</author>
            <author>Douglas de la Torre</author>
            <author>Edward Smit</author>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RollingFileAppender"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.declaringType">
            <summary>
            The fully qualified type of the RollingFileAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.SetQWForFiles(System.IO.TextWriter)">
            <summary>
            Sets the quiet writer being used.
            </summary>
            <remarks>
            This method can be overridden by sub classes.
            </remarks>
            <param name="writer">the writer to set</param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Write out a logging event.
            </summary>
            <param name="loggingEvent">the event to write to file.</param>
            <remarks>
            <para>
            Handles append time behavior for RollingFileAppender.  This checks
            if a roll over either by date (checked first) or time (checked second)
            is need and then appends to the file last.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent[])">
            <summary>
            Write out an array of logging events.
            </summary>
            <param name="loggingEvents">the events to write to file.</param>
            <remarks>
            <para>
            Handles append time behavior for RollingFileAppender.  This checks
            if a roll over either by date (checked first) or time (checked second)
            is need and then appends to the file last.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.AdjustFileBeforeAppend">
            <summary>
            Performs any required rolling before outputting the next event
            </summary>
            <remarks>
            <para>
            Handles append time behavior for RollingFileAppender.  This checks
            if a roll over either by date (checked first) or time (checked second)
            is need and then appends to the file last.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.OpenFile(System.String,System.Boolean)">
            <summary>
            Creates and opens the file for logging.  If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/>
            is false then the fully qualified name is determined and used.
            </summary>
            <param name="fileName">the name of the file to open</param>
            <param name="append">true to append to existing file</param>
            <remarks>
            <para>This method will ensure that the directory structure
            for the <paramref name="fileName"/> specified exists.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetNextOutputFileName(System.String)">
            <summary>
            Get the current output file name
            </summary>
            <param name="fileName">the base file name</param>
            <returns>the output file name</returns>
            <remarks>
            The output file name is based on the base fileName specified.
            If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> is set then the output 
            file name is the same as the base file passed in. Otherwise
            the output file depends on the date pattern, on the count
            direction or both.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.DetermineCurSizeRollBackups">
            <summary>
            Determines curSizeRollBackups (only within the current roll point)
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetWildcardPatternForFile(System.String)">
            <summary>
            Generates a wildcard pattern that can be used to find all files
            that are similar to the base file name.
            </summary>
            <param name="baseFileName"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetExistingFiles(System.String)">
            <summary>
            Builds a list of filenames for all files matching the base filename plus a file
            pattern.
            </summary>
            <param name="baseFilePath"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverIfDateBoundaryCrossing">
            <summary>
            Initiates a roll over if needed for crossing a date boundary since the last run.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ExistingInit">
            <summary>
            Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
            </summary>
            <remarks>
            <para>
            Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
            The following is done
            <list type="bullet">
            <item>determine curSizeRollBackups (only within the current roll point)</item>
            <item>initiates a roll over if needed for crossing a date boundary since the last run.</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.InitializeFromOneFile(System.String,System.String)">
            <summary>
            Does the work of bumping the 'current' file counter higher
            to the highest count when an incremental file name is seen.
            The highest count is either the first file (when count direction
            is greater than 0) or the last file (when count direction less than 0).
            In either case, we want to know the highest count that is present.
            </summary>
            <param name="baseFile"></param>
            <param name="curFileName"></param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetBackUpIndex(System.String)">
            <summary>
            Attempts to extract a number from the end of the file name that indicates
            the number of the times the file has been rolled over.
            </summary>
            <remarks>
            Certain date pattern extensions like yyyyMMdd will be parsed as valid backup indexes.
            </remarks>
            <param name="curFileName"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.InitializeRollBackups(System.String,System.Collections.ArrayList)">
            <summary>
            Takes a list of files and a base file name, and looks for 
            'incremented' versions of the base file.  Bumps the max
            count up to the highest count seen.
            </summary>
            <param name="baseFile"></param>
            <param name="arrayFiles"></param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ComputeCheckPeriod(System.String)">
            <summary>
            Calculates the RollPoint for the datePattern supplied.
            </summary>
            <param name="datePattern">the date pattern to calculate the check period for</param>
            <returns>The RollPoint that is most accurate for the date pattern supplied</returns>
            <remarks>
            Essentially the date pattern is examined to determine what the
            most suitable roll point is. The roll point chosen is the roll point
            with the smallest period that can be detected using the date pattern
            supplied. i.e. if the date pattern only outputs the year, month, day 
            and hour then the smallest roll point that can be detected would be
            and hourly roll point as minutes could not be detected.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            Sets initial conditions including date/time roll over information, first check,
            scheduledFilename, and calls <see cref="M:log4net.Appender.RollingFileAppender.ExistingInit"/> to initialize
            the current number of backups.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.CombinePath(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="path1"></param>
            <param name="path2">.1, .2, .3, etc.</param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverTime(System.Boolean)">
            <summary>
            Rollover the file(s) to date/time tagged file(s).
            </summary>
            <param name="fileIsOpen">set to true if the file to be rolled is currently open</param>
            <remarks>
            <para>
            Rollover the file(s) to date/time tagged file(s).
            Resets curSizeRollBackups. 
            If fileIsOpen is set then the new file is opened (through SafeOpenFile).
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)">
            <summary>
            Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>.
            </summary>
            <param name="fromFile">Name of existing file to roll.</param>
            <param name="toFile">New name for file.</param>
            <remarks>
            <para>
            Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>. It
            also checks for existence of target file and deletes if it does.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.FileExists(System.String)">
            <summary>
            Test if a file exists at a specified path
            </summary>
            <param name="path">the path to the file</param>
            <returns>true if the file exists</returns>
            <remarks>
            <para>
            Test if a file exists at a specified path
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.DeleteFile(System.String)">
            <summary>
            Deletes the specified file if it exists.
            </summary>
            <param name="fileName">The file to delete.</param>
            <remarks>
            <para>
            Delete a file if is exists.
            The file is first moved to a new filename then deleted.
            This allows the file to be removed even when it cannot
            be deleted, but it still can be moved.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverSize">
            <summary>
            Implements file roll base on file size.
            </summary>
            <remarks>
            <para>
            If the maximum number of size based backups is reached
            (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
            file is deleted -- its index determined by the sign of countDirection.
            If <c>countDirection</c> &lt; 0, then files
            {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
            are renamed to {<c>File.2</c>, ...,
            <c>File.curSizeRollBackups</c>}. Moreover, <c>File</c> is
            renamed <c>File.1</c> and closed.
            </para>
            <para>
            A new file is created to receive further log output.
            </para>
            <para>
            If <c>maxSizeRollBackups</c> is equal to zero, then the
            <c>File</c> is truncated with no backup files created.
            </para>
            <para>
            If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
            renamed if needed and no files are deleted.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverRenameFiles(System.String)">
            <summary>
            Implements file roll.
            </summary>
            <param name="baseFileName">the base name to rename</param>
            <remarks>
            <para>
            If the maximum number of size based backups is reached
            (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
            file is deleted -- its index determined by the sign of countDirection.
            If <c>countDirection</c> &lt; 0, then files
            {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
            are renamed to {<c>File.2</c>, ...,
            <c>File.curSizeRollBackups</c>}. 
            </para>
            <para>
            If <c>maxSizeRollBackups</c> is equal to zero, then the
            <c>File</c> is truncated with no backup files created.
            </para>
            <para>
            If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
            renamed if needed and no files are deleted.
            </para>
            <para>
            This is called by <see cref="M:log4net.Appender.RollingFileAppender.RollOverSize"/> to rename the files.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime,log4net.Appender.RollingFileAppender.RollPoint)">
            <summary>
            Get the start time of the next window for the current rollpoint
            </summary>
            <param name="currentDateTime">the current date</param>
            <param name="rollPoint">the type of roll point we are working with</param>
            <returns>the start time for the next roll point an interval after the currentDateTime date</returns>
            <remarks>
            <para>
            Returns the date of the next roll point after the currentDateTime date passed to the method.
            </para>
            <para>
            The basic strategy is to subtract the time parts that are less significant
            than the rollpoint from the current time. This should roll the time back to
            the start of the time window for the current rollpoint. Then we add 1 window
            worth of time and get the start time of the next window for the rollpoint.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_dateTime">
            <summary>
            This object supplies the current date/time.  Allows test code to plug in
            a method to control this class when testing date/time based rolling. The default
            implementation uses the underlying value of DateTime.Now.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_datePattern">
            <summary>
            The date pattern. By default, the pattern is set to <c>".yyyy-MM-dd"</c> 
            meaning daily rollover.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_scheduledFilename">
            <summary>
            The actual formatted filename that is currently being written to
            or will be the file transferred to on roll over
            (based on staticLogFileName).
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_nextCheck">
            <summary>
            The timestamp when we shall next recompute the filename.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_now">
            <summary>
            Holds date of last roll over
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollPoint">
            <summary>
            The type of rolling done
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_maxFileSize">
            <summary>
            The default maximum file size is 10MB
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_maxSizeRollBackups">
            <summary>
            There is zero backup files by default
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_curSizeRollBackups">
            <summary>
            How many sized based backups have been made so far
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_countDirection">
            <summary>
            The rolling file count direction. 
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollingStyle">
            <summary>
            The rolling mode used in this appender.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollDate">
            <summary>
            Cache flag set if we are rolling by date.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollSize">
            <summary>
            Cache flag set if we are rolling by size.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_staticLogFileName">
            <summary>
            Value indicating whether to always log to the same file.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_preserveLogFileNameExtension">
            <summary>
            Value indicating whether to preserve the file name extension when rolling.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_baseFileName">
            <summary>
            FileName provided in configuration.  Used for rolling properly
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.s_date1970">
            <summary>
            The 1st of January 1970 in UTC
            </summary>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.DateTimeStrategy">
            <summary>
            Gets or sets the strategy for determining the current date and time. The default
            implementation is to use LocalDateTime which internally calls through to DateTime.Now. 
            DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying
            <see cref="T:log4net.Appender.RollingFileAppender.UniversalDateTime"/>.
            </summary>
            <value>
            An implementation of the <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> interface which returns the current date and time.
            </value>
            <remarks>
            <para>
            Gets or sets the <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> used to return the current date and time.
            </para>
            <para>
            There are two built strategies for determining the current date and time, 
            <see cref="T:log4net.Appender.RollingFileAppender.LocalDateTime"/>
            and <see cref="T:log4net.Appender.RollingFileAppender.UniversalDateTime"/>.
            </para>
            <para>
            The default strategy is <see cref="T:log4net.Appender.RollingFileAppender.LocalDateTime"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.DatePattern">
            <summary>
            Gets or sets the date pattern to be used for generating file names
            when rolling over on date.
            </summary>
            <value>
            The date pattern to be used for generating file names when rolling 
            over on date.
            </value>
            <remarks>
            <para>
            Takes a string in the same format as expected by 
            <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/>.
            </para>
            <para>
            This property determines the rollover schedule when rolling over
            on date.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups">
            <summary>
            Gets or sets the maximum number of backup files that are kept before
            the oldest is erased.
            </summary>
            <value>
            The maximum number of backup files that are kept before the oldest is
            erased.
            </value>
            <remarks>
            <para>
            If set to zero, then there will be no backup files and the log file 
            will be truncated when it reaches <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/>.  
            </para>
            <para>
            If a negative number is supplied then no deletions will be made.  Note 
            that this could result in very slow performance as a large number of 
            files are rolled over unless <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> is used.
            </para>
            <para>
            The maximum applies to <b>each</b> time based group of files and 
            <b>not</b> the total.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaxFileSize">
            <summary>
            Gets or sets the maximum size that the output file is allowed to reach
            before being rolled over to backup files.
            </summary>
            <value>
            The maximum size in bytes that the output file is allowed to reach before being 
            rolled over to backup files.
            </value>
            <remarks>
            <para>
            This property is equivalent to <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/> except
            that it is required for differentiating the setter taking a
            <see cref="T:System.Int64"/> argument from the setter taking a <see cref="T:System.String"/> 
            argument.
            </para>
            <para>
            The default maximum file size is 10MB (10*1024*1024).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaximumFileSize">
            <summary>
            Gets or sets the maximum size that the output file is allowed to reach
            before being rolled over to backup files.
            </summary>
            <value>
            The maximum size that the output file is allowed to reach before being 
            rolled over to backup files.
            </value>
            <remarks>
            <para>
            This property allows you to specify the maximum size with the
            suffixes "KB", "MB" or "GB" so that the size is interpreted being 
            expressed respectively in kilobytes, megabytes or gigabytes. 
            </para>
            <para>
            For example, the value "10KB" will be interpreted as 10240 bytes.
            </para>
            <para>
            The default maximum file size is 10MB.
            </para>
            <para>
            If you have the option to set the maximum file size programmatically
            consider using the <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/> property instead as this
            allows you to set the size in bytes as a <see cref="T:System.Int64"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.CountDirection">
            <summary>
            Gets or sets the rolling file count direction. 
            </summary>
            <value>
            The rolling file count direction.
            </value>
            <remarks>
            <para>
            Indicates if the current file is the lowest numbered file or the
            highest numbered file.
            </para>
            <para>
            By default newer files have lower numbers (<see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &lt; 0),
            i.e. log.1 is most recent, log.5 is the 5th backup, etc...
            </para>
            <para>
            <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt;= 0 does the opposite i.e.
            log.1 is the first backup made, log.5 is the 5th backup made, etc.
            For infinite backups use <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt;= 0 to reduce 
            rollover costs.
            </para>
            <para>The default file count direction is -1.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.RollingStyle">
            <summary>
            Gets or sets the rolling style.
            </summary>
            <value>The rolling style.</value>
            <remarks>
            <para>
            The default rolling style is <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/>.
            </para>
            <para>
            When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> this appender's
            <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is set to <c>false</c>, otherwise
            the appender would append to a single file rather than rolling
            the file each time it is opened.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.PreserveLogFileNameExtension">
            <summary>
            Gets or sets a value indicating whether to preserve the file name extension when rolling.
            </summary>
            <value>
            <c>true</c> if the file name extension should be preserved.
            </value>
            <remarks>
            <para>
            By default file.log is rolled to file.log.yyyy-MM-dd or file.log.curSizeRollBackup.
            However, under Windows the new file name will loose any program associations as the
            extension is changed. Optionally file.log can be renamed to file.yyyy-MM-dd.log or
            file.curSizeRollBackup.log to maintain any program associations.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.StaticLogFileName">
            <summary>
            Gets or sets a value indicating whether to always log to
            the same file.
            </summary>
            <value>
            <c>true</c> if always should be logged to the same file, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            By default file.log is always the current file.  Optionally
            file.log.yyyy-mm-dd for current formatted datePattern can by the currently
            logging file (or file.log.curSizeRollBackup or even
            file.log.yyyy-mm-dd.curSizeRollBackup).
            </para>
            <para>
            This will make time based rollovers with a large number of backups 
            much faster as the appender it won't have to rename all the backups!
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.RollingMode">
            <summary>
            Style of rolling to use
            </summary>
            <remarks>
            <para>
            Style of rolling to use
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Once">
            <summary>
            Roll files once per program execution
            </summary>
            <remarks>
            <para>
            Roll files once per program execution.
            Well really once each time this appender is
            configured.
            </para>
            <para>
            Setting this option also sets <c>AppendToFile</c> to
            <c>false</c> on the <c>RollingFileAppender</c>, otherwise
            this appender would just be a normal file appender.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Size">
            <summary>
            Roll files based only on the size of the file
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Date">
            <summary>
            Roll files based only on the date
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Composite">
            <summary>
            Roll files based on both the size and date of the file
            </summary>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.RollPoint">
            <summary>
            The code assumes that the following 'time' constants are in a increasing sequence.
            </summary>
            <remarks>
            <para>
            The code assumes that the following 'time' constants are in a increasing sequence.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.InvalidRollPoint">
            <summary>
            Roll the log not based on the date
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMinute">
            <summary>
            Roll the log for each minute
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfHour">
            <summary>
            Roll the log for each hour
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.HalfDay">
            <summary>
            Roll the log twice a day (midday and midnight)
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfDay">
            <summary>
            Roll the log each day (midnight)
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfWeek">
            <summary>
            Roll the log each week
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMonth">
            <summary>
            Roll the log each month
            </summary>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.IDateTime">
            <summary>
            This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
            </summary>
            <remarks>
            This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
            Used primarily to allow test classes to plug themselves in so they can
            supply test date/times.
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.IDateTime.Now">
            <summary>
            Gets the <i>current</i> time.
            </summary>
            <value>The <i>current</i> time.</value>
            <remarks>
            <para>
            Gets the <i>current</i> time.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.LocalDateTime">
            <summary>
            Default implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time.
            </summary>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.LocalDateTime.Now">
            <summary>
            Gets the <b>current</b> time.
            </summary>
            <value>The <b>current</b> time.</value>
            <remarks>
            <para>
            Gets the <b>current</b> time.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.UniversalDateTime">
            <summary>
            Implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time as the coordinated universal time (UTC).
            </summary>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.UniversalDateTime.Now">
            <summary>
            Gets the <b>current</b> time.
            </summary>
            <value>The <b>current</b> time.</value>
            <remarks>
            <para>
            Gets the <b>current</b> time.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.SmtpAppender">
            <summary>
            Send an e-mail when a specific logging event occurs, typically on errors 
            or fatal errors.
            </summary>
            <remarks>
            <para>
            The number of logging events delivered in this e-mail depend on
            the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
            <see cref="T:log4net.Appender.SmtpAppender"/> keeps only the last
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
            cyclic buffer. This keeps memory requirements at a reasonable level while 
            still delivering useful application context.
            </para>
            <note type="caution">
            Authentication and setting the server Port are only available on the MS .NET 1.1 runtime.
            For these features to be enabled you need to ensure that you are using a version of
            the log4net assembly that is built against the MS .NET 1.1 framework and that you are
            running the your application on the MS .NET 1.1 runtime. On all other platforms only sending
            unauthenticated messages to a server listening on port 25 (the default) is supported.
            </note>
            <para>
            Authentication is supported by setting the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property to
            either <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> or <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>.
            If using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> authentication then the <see cref="P:log4net.Appender.SmtpAppender.Username"/>
            and <see cref="P:log4net.Appender.SmtpAppender.Password"/> properties must also be set.
            </para>
            <para>
            To set the SMTP server port use the <see cref="P:log4net.Appender.SmtpAppender.Port"/> property. The default port is 25.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Sends the contents of the cyclic buffer as an e-mail message.
            </summary>
            <param name="events">The logging events to send.</param>
        </member>
        <member name="M:log4net.Appender.SmtpAppender.SendEmail(System.String)">
            <summary>
            Send the email message
            </summary>
            <param name="messageBody">the body text to include in the mail</param>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.To">
            <summary>
            Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses (use semicolon on .NET 1.1 and comma for later versions).
            </summary>
            <value>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </value>
            <remarks>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Cc">
            <summary>
            Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses 
            that will be carbon copied (use semicolon on .NET 1.1 and comma for later versions).
            </summary>
            <value>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </value>
            <remarks>
            <para>
            For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
            </para>
            <para>
            For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Bcc">
            <summary>
            Gets or sets a semicolon-delimited list of recipient e-mail addresses
            that will be blind carbon copied.
            </summary>
            <value>
            A semicolon-delimited list of e-mail addresses.
            </value>
            <remarks>
            <para>
            A semicolon-delimited list of recipient e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.From">
            <summary>
            Gets or sets the e-mail address of the sender.
            </summary>
            <value>
            The e-mail address of the sender.
            </value>
            <remarks>
            <para>
            The e-mail address of the sender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Subject">
            <summary>
            Gets or sets the subject line of the e-mail message.
            </summary>
            <value>
            The subject line of the e-mail message.
            </value>
            <remarks>
            <para>
            The subject line of the e-mail message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.SmtpHost">
            <summary>
            Gets or sets the name of the SMTP relay mail server to use to send 
            the e-mail messages.
            </summary>
            <value>
            The name of the e-mail relay server. If SmtpServer is not set, the 
            name of the local SMTP server is used.
            </value>
            <remarks>
            <para>
            The name of the e-mail relay server. If SmtpServer is not set, the 
            name of the local SMTP server is used.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.LocationInfo">
            <summary>
            Obsolete
            </summary>
            <remarks>
            Use the BufferingAppenderSkeleton Fix methods instead 
            </remarks>
            <remarks>
            <para>
            Obsolete property.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Authentication">
            <summary>
            The mode to use to authentication with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            Valid Authentication mode values are: <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>, 
            <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, and <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>. 
            The default value is <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>. When using 
            <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> you must specify the <see cref="P:log4net.Appender.SmtpAppender.Username"/> 
            and <see cref="P:log4net.Appender.SmtpAppender.Password"/> to use to authenticate.
            When using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/> the Windows credentials for the current
            thread, if impersonating, or the process will be used to authenticate. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Username">
            <summary>
            The username to use to authenticate with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
            <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
            otherwise the username will be ignored. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Password">
            <summary>
            The password to use to authenticate with the SMTP server
            </summary>
            <remarks>
            <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
            <para>
            A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
            <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
            otherwise the password will be ignored. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Port">
            <summary>
            The port on which the SMTP server is listening
            </summary>
            <remarks>
            <note type="caution">Server Port is only available on the MS .NET 1.1 runtime.</note>
            <para>
            The port on which the SMTP server is listening. The default
            port is <c>25</c>. The Port can only be changed when running on
            the MS .NET 1.1 runtime.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.Priority">
            <summary>
            Gets or sets the priority of the e-mail message
            </summary>
            <value>
            One of the <see cref="T:System.Net.Mail.MailPriority"/> values.
            </value>
            <remarks>
            <para>
            Sets the priority of the e-mails generated by this
            appender. The default priority is <see cref="F:System.Net.Mail.MailPriority.Normal"/>.
            </para>
            <para>
            If you are using this appender to report errors then
            you may want to set the priority to <see cref="F:System.Net.Mail.MailPriority.High"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.EnableSsl">
            <summary>
            Enable or disable use of SSL when sending e-mail message
            </summary>
            <remarks>
            This is available on MS .NET 2.0 runtime and higher
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.ReplyTo">
            <summary>
            Gets or sets the reply-to e-mail address.
            </summary>
            <remarks>
            This is available on MS .NET 2.0 runtime and higher
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.SubjectEncoding">
            <summary>
            Gets or sets the subject encoding to be used.
            </summary>
            <remarks>
            The default encoding is the operating system's current ANSI codepage.
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.BodyEncoding">
            <summary>
            Gets or sets the body encoding to be used.
            </summary>
            <remarks>
            The default encoding is the operating system's current ANSI codepage.
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.SmtpAppender.SmtpAuthentication">
            <summary>
            Values for the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property.
            </summary>
            <remarks>
            <para>
            SMTP authentication modes.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None">
            <summary>
            No authentication
            </summary>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic">
            <summary>
            Basic authentication.
            </summary>
            <remarks>
            Requires a username and password to be supplied
            </remarks>
        </member>
        <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm">
            <summary>
            Integrated authentication
            </summary>
            <remarks>
            Uses the Windows credentials from the current thread or process to authenticate.
            </remarks>
        </member>
        <member name="T:log4net.Appender.SmtpPickupDirAppender">
            <summary>
            Send an email when a specific logging event occurs, typically on errors 
            or fatal errors. Rather than sending via smtp it writes a file into the
            directory specified by <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>. This allows services such
            as the IIS SMTP agent to manage sending the messages.
            </summary>
            <remarks>
            <para>
            The configuration for this appender is identical to that of the <c>SMTPAppender</c>,
            except that instead of specifying the <c>SMTPAppender.SMTPHost</c> you specify
            <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>.
            </para>
            <para>
            The number of logging events delivered in this e-mail depend on
            the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
            <see cref="T:log4net.Appender.SmtpPickupDirAppender"/> keeps only the last
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
            cyclic buffer. This keeps memory requirements at a reasonable level while 
            still delivering useful application context.
            </para>
            </remarks>
            <author>Niall Daley</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.SendBuffer(log4net.Core.LoggingEvent[])">
            <summary>
            Sends the contents of the cyclic buffer as an e-mail message.
            </summary>
            <param name="events">The logging events to send.</param>
            <remarks>
            <para>
            Sends the contents of the cyclic buffer as an e-mail message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions">
            <summary>
            Activate the options on this appender. 
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified path.
            </summary>
            <param name="path">The path to convert.</param>
            <returns>The fully qualified path.</returns>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.SmtpPickupDirAppender.m_securityContext">
            <summary>
            The security context to use for privileged calls
            </summary>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.To">
            <summary>
            Gets or sets a semicolon-delimited list of recipient e-mail addresses.
            </summary>
            <value>
            A semicolon-delimited list of e-mail addresses.
            </value>
            <remarks>
            <para>
            A semicolon-delimited list of e-mail addresses.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.From">
            <summary>
            Gets or sets the e-mail address of the sender.
            </summary>
            <value>
            The e-mail address of the sender.
            </value>
            <remarks>
            <para>
            The e-mail address of the sender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.Subject">
            <summary>
            Gets or sets the subject line of the e-mail message.
            </summary>
            <value>
            The subject line of the e-mail message.
            </value>
            <remarks>
            <para>
            The subject line of the e-mail message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.PickupDir">
            <summary>
            Gets or sets the path to write the messages to.
            </summary>
            <remarks>
            <para>
            Gets or sets the path to write the messages to. This should be the same
            as that used by the agent sending the messages.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext">
            <summary>
            Gets or sets the <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
            </value>
            <remarks>
            <para>
            Unless a <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> specified here for this appender
            the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
            security context to use. The default behavior is to use the security context
            of the current thread.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TelnetAppender">
            <summary>
            Appender that allows clients to connect via Telnet to receive log messages
            </summary>
            <remarks>	
            <para>
            The TelnetAppender accepts socket connections and streams logging messages
            back to the client.  
            The output is provided in a telnet-friendly way so that a log can be monitored 
            over a TCP/IP socket.
            This allows simple remote monitoring of application logging.
            </para>
            <para>
            The default <see cref="P:log4net.Appender.TelnetAppender.Port"/> is 23 (the telnet port).
            </para>
            </remarks>
            <author>Keith Long</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TelnetAppender.declaringType">
            <summary>
            The fully qualified type of the TelnetAppender class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.OnClose">
            <summary>
            Overrides the parent method to close the socket handler
            </summary>
            <remarks>
            <para>
            Closes all the outstanding connections.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.ActivateOptions">
            <summary>
            Initialize the appender based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> must be called again.
            </para>
            <para>
            Create the socket handler and wait for connections
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Writes the logging event to each connected client.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the logging event to each connected client.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TelnetAppender.Port">
            <summary>
            Gets or sets the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
            </value>
            <remarks>
            <para>
            The default value is 23 (the telnet port).
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> 
            or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.TelnetAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TelnetAppender.SocketHandler">
            <summary>
            Helper class to manage connected clients
            </summary>
            <remarks>
            <para>
            The SocketHandler class is used to accept connections from
            clients.  It is threaded so that clients can connect/disconnect
            asynchronously.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.#ctor(System.Int32)">
            <summary>
            Opens a new server port on <paramref ref="port"/>
            </summary>
            <param name="port">the local port to listen on for connections</param>
            <remarks>
            <para>
            Creates a socket handler on the specified local server port.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Send(System.String)">
            <summary>
            Sends a string message to each of the connected clients
            </summary>
            <param name="message">the text to send</param>
            <remarks>
            <para>
            Sends a string message to each of the connected clients
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.AddClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
            <summary>
            Add a client to the internal clients list
            </summary>
            <param name="client">client to add</param>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.RemoveClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
            <summary>
            Remove a client from the internal clients list
            </summary>
            <param name="client">client to remove</param>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.OnConnect(System.IAsyncResult)">
            <summary>
            Callback used to accept a connection on the server socket
            </summary>
            <param name="asyncResult">The result of the asynchronous operation</param>
            <remarks>
            <para>
            On connection adds to the list of connections 
            if there are two many open connections you will be disconnected
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Dispose">
            <summary>
            Close all network connections
            </summary>
            <remarks>
            <para>
            Make sure we close all network connections
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TelnetAppender.SocketHandler.HasConnections">
            <summary>
            Test if this handler has active connections
            </summary>
            <value>
            <c>true</c> if this handler has active connections
            </value>
            <remarks>
            <para>
            This property will be <c>true</c> while this handler has
            active connections, that is at least one connection that 
            the handler will attempt to send a message to.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient">
            <summary>
            Class that represents a client connected to this handler
            </summary>
            <remarks>
            <para>
            Class that represents a client connected to this handler
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.#ctor(System.Net.Sockets.Socket)">
            <summary>
            Create this <see cref="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient"/> for the specified <see cref="T:System.Net.Sockets.Socket"/>
            </summary>
            <param name="socket">the client's socket</param>
            <remarks>
            <para>
            Opens a stream writer on the socket.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Send(System.String)">
            <summary>
            Write a string to the client
            </summary>
            <param name="message">string to send</param>
            <remarks>
            <para>
            Write a string to the client
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Dispose">
            <summary>
            Cleanup the clients connection
            </summary>
            <remarks>
            <para>
            Close the socket connection.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TraceAppender">
            <summary>
            Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <remarks>
            <para>
            The application configuration file can be used to control what listeners 
            are actually used. See the MSDN documentation for the 
            <see cref="T:System.Diagnostics.Trace"/> class for details on configuring the
            trace system.
            </para>
            <para>
            Events are written using the <c>System.Diagnostics.Trace.Write(string,string)</c>
            method. The event's logger name is the default value for the category parameter 
            of the Write method. 
            </para>
            <para>
            <b>Compact Framework</b><br/>
            The Compact Framework does not support the <see cref="T:System.Diagnostics.Trace"/>
            class for any operation except <c>Assert</c>. When using the Compact Framework this
            appender will write to the <see cref="T:System.Diagnostics.Debug"/> system rather than
            the Trace system. This appender will therefore behave like the <see cref="T:log4net.Appender.DebugAppender"/>.
            </para>
            </remarks>
            <author>Douglas de la Torre</author>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/> 
            with a specified layout.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <remarks>
            <para>
            Obsolete constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TraceAppender.Append(log4net.Core.LoggingEvent)">
            <summary>
            Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying writer or output stream
            will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TraceAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logs events are not actually written to persistent media if and
            when the application crashes.
            </para>
            <para>
            The default value is <c>true</c>.</para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.TraceAppender.m_category">
            <summary>
            Defaults to %logger
            </summary>
        </member>
        <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
            <summary>
            Gets or sets a value that indicates whether the appender will 
            flush at the end of each write.
            </summary>
            <remarks>
            <para>The default behavior is to flush at the end of each 
            write. If the option is set to<c>false</c>, then the underlying 
            stream can defer writing to physical medium to a later time. 
            </para>
            <para>
            Avoiding the flush operation at the end of each append results 
            in a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.Category">
            <summary>
            The category parameter sent to the Trace method.
            </summary>
            <remarks>
            <para>
            Defaults to %logger which will use the logger name of the current 
            <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
            </para>
            <para>
            </para> 
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.AliasDomainAttribute">
            <summary>
            Assembly level attribute that specifies a domain to alias to this assembly's repository.
            </summary>
            <remarks>
            <para>
            <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
            </para>
            <para>
            An assembly's logger repository is defined by its <see cref="T:log4net.Config.DomainAttribute"/>,
            however this can be overridden by an assembly loaded before the target assembly.
            </para>
            <para>
            An assembly can alias another assembly's domain to its repository by
            specifying this attribute with the name of the target domain.
            </para>
            <para>
            This attribute can only be specified on the assembly and may be used
            as many times as necessary to alias all the required domains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Config.AliasRepositoryAttribute">
            <summary>
            Assembly level attribute that specifies a repository to alias to this assembly's repository.
            </summary>
            <remarks>
            <para>
            An assembly's logger repository is defined by its <see cref="T:log4net.Config.RepositoryAttribute"/>,
            however this can be overridden by an assembly loaded before the target assembly.
            </para>
            <para>
            An assembly can alias another assembly's repository to its repository by
            specifying this attribute with the name of the target repository.
            </para>
            <para>
            This attribute can only be specified on the assembly and may be used
            as many times as necessary to alias all the required repositories.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.AliasRepositoryAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
            the specified repository to alias to this assembly's repository.
            </summary>
            <param name="name">The repository to alias to this assemby's repository.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
            the specified repository to alias to this assembly's repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.AliasRepositoryAttribute.Name">
            <summary>
            Gets or sets the repository to alias to this assemby's repository.
            </summary>
            <value>
            The repository to alias to this assemby's repository.
            </value>
            <remarks>
            <para>
            The name of the repository to alias to this assemby's repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasDomainAttribute"/> class with 
            the specified domain to alias to this assembly's repository.
            </summary>
            <param name="name">The domain to alias to this assemby's repository.</param>
            <remarks>
            <para>
            Obsolete. Use <see cref="T:log4net.Config.AliasRepositoryAttribute"/> instead of <see cref="T:log4net.Config.AliasDomainAttribute"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.BasicConfigurator">
            <summary>
            Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </summary>
            <remarks>
            <para>
            Allows very simple programmatic configuration of log4net.
            </para>
            <para>
            Only one appender can be configured using this configurator.
            The appender is set at the root of the hierarchy and all logging
            events will be delivered to that appender.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions()"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Config.BasicConfigurator.declaringType">
            <summary>
            The fully qualified type of the BasicConfigurator class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure">
            <summary>
            Initializes the log4net system with a default configuration.
            </summary>
            <remarks>
            <para>
            Initializes the log4net logging system using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
            <summary>
            Initializes the log4net system using the specified appender.
            </summary>
            <param name="appender">The appender to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the log4net system using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender[])">
            <summary>
            Initializes the log4net system using the specified appenders.
            </summary>
            <param name="appenders">The appenders to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the log4net system using the specified appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
            </summary>
            <param name="repository">The repository to configure.</param>
            <remarks>
            <para>
            Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="appender">The appender to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender[])">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appenders.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="appenders">The appenders to use to log all logging events.</param>
            <remarks>
            <para>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.ConfiguratorAttribute">
            <summary>
            Base class for all log4net configuration attributes.
            </summary>
            <remarks>
            This is an abstract class that must be extended by 
            specific configurators. This attribute allows the
            configurator to be parameterized by an assembly level
            attribute.
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.#ctor(System.Int32)">
            <summary>
            Constructor used by subclasses.
            </summary>
            <param name="priority">the ordering priority for this configurator</param>
            <remarks>
            <para>
            The <paramref name="priority"/> is used to order the configurator
            attributes before they are invoked. Higher priority configurators are executed
            before lower priority ones.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Abstract method implemented by a subclass. When this method is called
            the subclass should configure the <paramref name="targetRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.CompareTo(System.Object)">
            <summary>
            Compare this instance to another ConfiguratorAttribute
            </summary>
            <param name="obj">the object to compare to</param>
            <returns>see <see cref="M:System.IComparable.CompareTo(System.Object)"/></returns>
            <remarks>
            <para>
            Compares the priorities of the two <see cref="T:log4net.Config.ConfiguratorAttribute"/> instances.
            Sorts by priority in descending order. Objects with the same priority are
            randomly ordered.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.DomainAttribute">
            <summary>
            Assembly level attribute that specifies the logging domain for the assembly.
            </summary>
            <remarks>
            <para>
            <b>DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute.</b>
            </para>
            <para>
            Assemblies are mapped to logging domains. Each domain has its own
            logging repository. This attribute specified on the assembly controls
            the configuration of the domain. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
            of the domain that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
            specifies the type of the repository objects to create for the domain. If 
            this attribute is not specified and a <see cref="P:log4net.Config.RepositoryAttribute.Name"/> is not specified
            then the assembly will be part of the default shared logging domain.
            </para>
            <para>
            This attribute can only be specified on the assembly and may only be used
            once per assembly.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Config.RepositoryAttribute">
            <summary>
            Assembly level attribute that specifies the logging repository for the assembly.
            </summary>
            <remarks>
            <para>
            Assemblies are mapped to logging repository. This attribute specified 
            on the assembly controls
            the configuration of the repository. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
            of the repository that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
            specifies the type of the <see cref="T:log4net.Repository.ILoggerRepository"/> object 
            to create for the assembly. If this attribute is not specified or a <see cref="P:log4net.Config.RepositoryAttribute.Name"/> 
            is not specified then the assembly will be part of the default shared logging repository.
            </para>
            <para>
            This attribute can only be specified on the assembly and may only be used
            once per assembly.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.RepositoryAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.RepositoryAttribute.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class 
            with the name of the repository.
            </summary>
            <param name="name">The name of the repository.</param>
            <remarks>
            <para>
            Initialize the attribute with the name for the assembly's repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.RepositoryAttribute.Name">
            <summary>
            Gets or sets the name of the logging repository.
            </summary>
            <value>
            The string name to use as the name of the repository associated with this
            assembly.
            </value>
            <remarks>
            <para>
            This value does not have to be unique. Several assemblies can share the
            same repository. They will share the logging configuration of the repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.RepositoryAttribute.RepositoryType">
            <summary>
            Gets or sets the type of repository to create for this assembly.
            </summary>
            <value>
            The type of repository to create for this assembly.
            </value>
            <remarks>
            <para>
            The type of the repository to create for the assembly.
            The type must implement the <see cref="T:log4net.Repository.ILoggerRepository"/>
            interface.
            </para>
            <para>
            This will be the type of repository created when 
            the repository is created. If multiple assemblies reference the
            same repository then the repository is only created once using the
            <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/> of the first assembly to call into the 
            repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DomainAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class.
            </summary>
            <remarks>
            <para>
            Obsolete. Use RepositoryAttribute instead of DomainAttribute.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DomainAttribute.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class 
            with the name of the domain.
            </summary>
            <param name="name">The name of the domain.</param>
            <remarks>
            <para>
            Obsolete. Use RepositoryAttribute instead of DomainAttribute.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.DOMConfigurator">
            <summary>
            Use this class to initialize the log4net environment using an Xml tree.
            </summary>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.#ctor">
            <summary>
            Private constructor
            </summary>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure">
            <summary>
            Automatically configures the log4net system based on the 
            application's configuration settings.
            </summary>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
            stored in the application's configuration file.
            </summary>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </remarks>
            <param name="repository">The repository to configure.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configures log4net using a <c>log4net</c> element
            </summary>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </remarks>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML 
            element.
            </summary>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </remarks>
            <param name="repository">The repository to configure.</param>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)">
            <summary>
            Configures log4net using the specified configuration file.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net-config-file" value="log.config"/>
            	</appSettings>
            </configuration>
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.Stream)">
            <summary>
            Configures log4net using the specified configuration file.
            </summary>
            <param name="configStream">A stream to load the XML configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net-config-file" value="log.config"/>
            	</appSettings>
            </configuration>
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configStream">The stream to load the XML configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
            <summary>
            Configures log4net using the file specified, monitors the file for changes 
            and reloads the configuration if a change is detected.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behavior of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
            </para>
            </remarks>
            <seealso cref="M:Configure(FileInfo)"/>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified, 
            monitors the file for changes and reloads the configuration if a change 
            is detected.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
            </para>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behavior of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
            </para>
            </remarks>
            <seealso cref="M:Configure(FileInfo)"/>
        </member>
        <member name="T:log4net.Config.DOMConfiguratorAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </summary>
            <remarks>
            <para>
            <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
            </para>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
            methods.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Config.XmlConfiguratorAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </summary>
            <remarks>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
            methods.
            </para>
            <para>
            If neither of the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>
            properties are set the configuration is loaded from the application's .config file.
            If set the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property takes priority over the
            <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property
            specifies a path to a file to load the config from. The path is relative to the
            application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property is used as a postfix to the assembly file name.
            The config file must be located in the  application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
            For example in a console application setting the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> to
            <c>config</c> has the same effect as not specifying the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or 
            <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> properties.
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.Watch"/> property can be set to cause the <see cref="T:log4net.Config.XmlConfigurator"/>
            to watch the configuration file for changes.
            </para>
            <note>
            <para>
            Log4net will only look for assembly level configuration attributes once.
            When using the log4net assembly level attributes to control the configuration 
            of log4net you must ensure that the first call to any of the 
            <see cref="T:log4net.Core.LoggerManager"/> methods is made from the assembly with the configuration
            attributes. 
            </para>
            <para>
            If you cannot guarantee the order in which log4net calls will be made from 
            different assemblies you must use programmatic configuration instead, i.e.
            call the <see cref="M:XmlConfigurator.Configure()"/> method directly.
            </para>
            </note>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Configure the repository using the <see cref="T:log4net.Config.XmlConfigurator"/>.
            The <paramref name="targetRepository"/> specified must extend the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
            class otherwise the <see cref="T:log4net.Config.XmlConfigurator"/> will not be able to
            configure it.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="targetRepository"/> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Attempt to load configuration from the local file system
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configure the specified repository using a <see cref="T:System.IO.FileInfo"/>
            </summary>
            <param name="targetRepository">The repository to configure.</param>
            <param name="configFile">the FileInfo pointing to the config file</param>
        </member>
        <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromUri(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Attempt to load configuration from a URI
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
        </member>
        <member name="F:log4net.Config.XmlConfiguratorAttribute.declaringType">
            <summary>
            The fully qualified type of the XmlConfiguratorAttribute class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile">
            <summary>
            Gets or sets the filename of the configuration file.
            </summary>
            <value>
            The filename of the configuration file.
            </value>
            <remarks>
            <para>
            If specified, this is the name of the configuration file to use with
            the <see cref="T:log4net.Config.XmlConfigurator"/>. This file path is relative to the
            <b>application base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>).
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension">
            <summary>
            Gets or sets the extension of the configuration file.
            </summary>
            <value>
            The extension of the configuration file.
            </value>
            <remarks>
            <para>
            If specified this is the extension for the configuration file.
            The path to the config file is built by using the <b>application 
            base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>),
            the <b>assembly file name</b> and the config file extension.
            </para>
            <para>
            If the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> is set to <c>MyExt</c> then
            possible config file names would be: <c>MyConsoleApp.exe.MyExt</c> or
            <c>MyClassLibrary.dll.MyExt</c>.
            </para>
            <para>
            The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.XmlConfiguratorAttribute.Watch">
            <summary>
            Gets or sets a value indicating whether to watch the configuration file.
            </summary>
            <value>
            <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            If this flag is specified and set to <c>true</c> then the framework
            will watch the configuration file and will reload the config each time 
            the file is modified.
            </para>
            <para>
            The config file can only be watched if it is loaded from local disk.
            In a No-Touch (Smart Client) deployment where the application is downloaded
            from a web server the config file may not reside on the local disk
            and therefore it may not be able to watch it.
            </para>
            <note>
            Watching configuration is not supported on the SSCLI.
            </note>
            </remarks>
        </member>
        <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
            <summary>
            Class to register for the log4net section of the configuration file
            </summary>
            <remarks>
            The log4net section of the configuration file needs to have a section
            handler registered. This is the section handler used. It simply returns
            the XML element that is the root of the section.
            </remarks>
            <example>
            Example of registering the log4net section handler :
            <code lang="XML" escaped="true">
            <configuration>
            	<configSections>
            		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
            	</configSections>
            	<log4net>
            		log4net configuration XML goes here
            	</log4net>
            </configuration>
            </code>
            </example>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
            <summary>
            Parses the configuration section.
            </summary>
            <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
            <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
            <param name="section">The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</param>
            <returns>The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</returns>
            <remarks>
            <para>
            Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.PluginAttribute">
            <summary>
            Assembly level attribute that specifies a plugin to attach to 
            the repository.
            </summary>
            <remarks>
            <para>
            Specifies the type of a plugin to create and attach to the
            assembly's repository. The plugin type must implement the
            <see cref="T:log4net.Plugin.IPlugin"/> interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Plugin.IPluginFactory">
            <summary>
            Interface used to create plugins.
            </summary>
            <remarks>
            <para>
            Interface used to create  a plugin.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
            <summary>
            Creates the plugin object.
            </summary>
            <returns>the new plugin instance</returns>
            <remarks>
            <para>
            Create and return a new plugin instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.PluginAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
            with the specified type.
            </summary>
            <param name="typeName">The type name of plugin to create.</param>
            <remarks>
            <para>
            Create the attribute with the plugin type specified.
            </para>
            <para>
            Where possible use the constructor that takes a <see cref="T:System.Type"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.PluginAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
            with the specified type.
            </summary>
            <param name="type">The type of plugin to create.</param>
            <remarks>
            <para>
            Create the attribute with the plugin type specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.PluginAttribute.CreatePlugin">
            <summary>
            Creates the plugin object defined by this attribute.
            </summary>
            <remarks>
            <para>
            Creates the instance of the <see cref="T:log4net.Plugin.IPlugin"/> object as 
            specified by this attribute.
            </para>
            </remarks>
            <returns>The plugin object.</returns>
        </member>
        <member name="M:log4net.Config.PluginAttribute.ToString">
            <summary>
            Returns a representation of the properties of this object.
            </summary>
            <remarks>
            <para>
            Overrides base class <see cref="M:Object.ToString()" /> method to 
            return a representation of the properties of this object.
            </para>
            </remarks>
            <returns>A representation of the properties of this object</returns>
        </member>
        <member name="P:log4net.Config.PluginAttribute.Type">
            <summary>
            Gets or sets the type for the plugin.
            </summary>
            <value>
            The type for the plugin.
            </value>
            <remarks>
            <para>
            The type for the plugin.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.PluginAttribute.TypeName">
            <summary>
            Gets or sets the type name for the plugin.
            </summary>
            <value>
            The type name for the plugin.
            </value>
            <remarks>
            <para>
            The type name for the plugin.
            </para>
            <para>
            Where possible use the <see cref="P:log4net.Config.PluginAttribute.Type"/> property instead.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.SecurityContextProviderAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Core.SecurityContextProvider"/>.
            </summary>
            <remarks>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
            without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
            methods.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Config.SecurityContextProviderAttribute.#ctor(System.Type)">
            <summary>
            Construct provider attribute with type specified
            </summary>
            <param name="providerType">the type of the provider to use</param>
            <remarks>
            <para>
            The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
            class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.SecurityContextProviderAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the SecurityContextProvider
            </summary>
            <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
            <param name="targetRepository">The repository to configure.</param>
            <remarks>
            <para>
            Creates a provider instance from the <see cref="P:log4net.Config.SecurityContextProviderAttribute.ProviderType"/> specified.
            Sets this as the default security context provider <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Config.SecurityContextProviderAttribute.declaringType">
            <summary>
            The fully qualified type of the SecurityContextProviderAttribute class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Config.SecurityContextProviderAttribute.ProviderType">
            <summary>
            Gets or sets the type of the provider to use.
            </summary>
            <value>
            the type of the provider to use.
            </value>
            <remarks>
            <para>
            The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
            class.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.XmlConfigurator">
            <summary>
            Use this class to initialize the log4net environment using an Xml tree.
            </summary>
            <remarks>
            <para>
            Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.#ctor">
            <summary>
            Private constructor
            </summary>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure">
            <summary>
            Automatically configures the log4net system based on the 
            application's configuration settings.
            </summary>
            <remarks>
            <para>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </para>
            <para>
            To use this method to configure log4net you must specify 
            the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
            handler for the <c>log4net</c> configuration section. See the
            <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
            </para>
            </remarks>
            <seealso cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
            stored in the application's configuration file.
            </summary>
            <remarks>
            <para>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </para>
            <para>
            To use this method to configure log4net you must specify 
            the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
            handler for the <c>log4net</c> configuration section. See the
            <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
            </para>
            </remarks>
            <param name="repository">The repository to configure.</param>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configures log4net using a <c>log4net</c> element
            </summary>
            <remarks>
            <para>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </para>
            </remarks>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML 
            element.
            </summary>
            <remarks>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </remarks>
            <param name="repository">The repository to configure.</param>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)">
            <summary>
            Configures log4net using the specified configuration file.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <para>
            The first element matching <c>&lt;configuration&gt;</c> will be read as the 
            configuration. If this file is also a .NET .config file then you must specify 
            a configuration section for the <c>log4net</c> element otherwise .NET will 
            complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
            <code lang="XML" escaped="true">
            <configSections>
            	<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
            </configSections>
            </code>
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net-config-file" value="log.config"/>
            	</appSettings>
            </configuration>
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(System.Uri)">
            <summary>
            Configures log4net using the specified configuration URI.
            </summary>
            <param name="configUri">A URI to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.Stream)">
            <summary>
            Configures log4net using the specified configuration data stream.
            </summary>
            <param name="configStream">A stream to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <para>
            The first element matching <c>&lt;configuration&gt;</c> will be read as the 
            configuration. If this file is also a .NET .config file then you must specify 
            a configuration section for the <c>log4net</c> element otherwise .NET will 
            complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
            <code lang="XML" escaped="true">
            <configSections>
            	<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
            </configSections>
            </code>
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net-config-file" value="log.config"/>
            	</appSettings>
            </configuration>
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Uri)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            URI.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configUri">A URI to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configStream">The stream to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
            <summary>
            Configures log4net using the file specified, monitors the file for changes 
            and reloads the configuration if a change is detected.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behavior of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
            </para>
            </remarks>
            <seealso cref="M:Configure(FileInfo)"/>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified, 
            monitors the file for changes and reloads the configuration if a change 
            is detected.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behavior of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
            </para>
            </remarks>
            <seealso cref="M:Configure(FileInfo)"/>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.InternalConfigureFromXml(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
            <summary>
            Configures the specified repository using a <c>log4net</c> element.
            </summary>
            <param name="repository">The hierarchy to configure.</param>
            <param name="element">The element to parse.</param>
            <remarks>
            <para>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </para>
            <para>
            This method is ultimately called by one of the Configure methods 
            to load the configuration from an <see cref="T:System.Xml.XmlElement"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.m_repositoryName2ConfigAndWatchHandler">
            <summary>
            Maps repository names to ConfigAndWatchHandler instances to allow a particular
            ConfigAndWatchHandler to dispose of its FileSystemWatcher when a repository is 
            reconfigured.
            </summary>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.declaringType">
            <summary>
            The fully qualified type of the XmlConfigurator class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler">
            <summary>
            Class used to watch config files.
            </summary>
            <remarks>
            <para>
            Uses the <see cref="T:System.IO.FileSystemWatcher"/> to monitor
            changes to a specified file. Because multiple change notifications
            may be raised when the file is modified, a timer is used to
            compress the notifications into a single event. The timer
            waits for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> time before delivering
            the event notification. If any further <see cref="T:System.IO.FileSystemWatcher"/>
            change notifications arrive while the timer is waiting it
            is reset and waits again for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> to
            elapse.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis">
            <summary>
            The default amount of time to wait after receiving notification
            before reloading the config file.
            </summary>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_configFile">
            <summary>
            Holds the FileInfo used to configure the XmlConfigurator
            </summary>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_repository">
            <summary>
            Holds the repository being configured.
            </summary>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_timer">
            <summary>
            The timer used to compress the notification events.
            </summary>
        </member>
        <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_watcher">
            <summary>
            Watches file for changes. This object should be disposed when no longer
            needed to free system handles on the watched resources.
            </summary>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.#ctor(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class to
            watch a specified config file used to configure a repository.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The configuration file to watch.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnChanged(System.Object,System.IO.FileSystemEventArgs)">
            <summary>
            Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
            </summary>
            <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
            <param name="e">The argument indicates the file that caused the event to be fired.</param>
            <remarks>
            <para>
            This handler reloads the configuration from the file when the event is fired.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnRenamed(System.Object,System.IO.RenamedEventArgs)">
            <summary>
            Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
            </summary>
            <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
            <param name="e">The argument indicates the file that caused the event to be fired.</param>
            <remarks>
            <para>
            This handler reloads the configuration from the file when the event is fired.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.OnWatchedFileChange(System.Object)">
            <summary>
            Called by the timer when the configuration has been updated.
            </summary>
            <param name="state">null</param>
        </member>
        <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.Dispose">
            <summary>
            Release the handles held by the watcher and timer.
            </summary>
        </member>
        <member name="T:log4net.Core.CompactRepositorySelector">
            <summary>
            The implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface suitable
            for use with the compact framework
            </summary>
            <remarks>
            <para>
            This <see cref="T:log4net.Core.IRepositorySelector"/> implementation is a simple
            mapping between repository name and <see cref="T:log4net.Repository.ILoggerRepository"/>
            object.
            </para>
            <para>
            The .NET Compact Framework 1.0 does not support retrieving assembly
            level attributes therefore unlike the <c>DefaultRepositorySelector</c>
            this selector does not examine the calling assembly for attributes.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Core.IRepositorySelector">
            <summary>
            Interface used by the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.LogManager"/> uses a <see cref="T:log4net.Core.IRepositorySelector"/> 
            to specify the policy for selecting the correct <see cref="T:log4net.Repository.ILoggerRepository"/> 
            to return to the caller.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="assembly">The assembly to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </para>
            <para>
            How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
            is made is not defined. The implementation may choose any method for
            this association. The results of this method must be repeatable, i.e.
            when called again with the same arguments the result must be the
            save value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.String)">
            <summary>
            Gets the named <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repositoryName">The name to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
            <remarks>
            Lookup a named <see cref="T:log4net.Repository.ILoggerRepository"/>. This is the repository created by
            calling <see cref="M:CreateRepository(string,Type)"/>.
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a new repository for the assembly specified.
            </summary>
            <param name="assembly">The assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
            is made is not defined. The implementation may choose any method for
            this association.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a new repository with the name specified.
            </summary>
            <param name="repositoryName">The name to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the name
            specified such that a call to <see cref="M:GetRepository(string)"/> with the
            same name will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.ExistsRepository(System.String)">
            <summary>
            Test if a named repository exists
            </summary>
            <param name="repositoryName">the named repository to check</param>
            <returns><c>true</c> if the repository exists</returns>
            <remarks>
            <para>
            Test if a named repository exists. Use <see cref="M:CreateRepository(Assembly, Type)"/>
            to create a new repository and <see cref="M:GetRepository(Assembly)"/> to retrieve 
            a repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IRepositorySelector.GetAllRepositories">
            <summary>
            Gets an array of all currently defined repositories.
            </summary>
            <returns>
            An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by 
            this <see cref="T:log4net.Core.IRepositorySelector"/>.</returns>
            <remarks>
            <para>
            Gets an array of all of the repositories created by this selector.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
            <remarks>
            <para>
            Event raised when a new repository is created.
            The event source will be this selector. The event args will
            be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
            holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.#ctor(System.Type)">
            <summary>
            Create a new repository selector
            </summary>
            <param name="defaultRepositoryType">the type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <remarks>
            <para>
            Create an new compact repository selector.
            The default type for repositories must be specified,
            an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">throw if <paramref name="defaultRepositoryType"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">throw if <paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/></exception>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Get the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly
            </summary>
            <param name="assembly">not used</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
            <remarks>
            <para>
            The <paramref name="assembly"/> argument is not used. This selector does not create a
            separate repository for each assembly. 
            </para>
            <para>
            As a named repository is not specified the default repository is 
            returned. The default repository is named <c>log4net-default-repository</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)">
            <summary>
            Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>
            </summary>
            <param name="repositoryName">the name of the repository to lookup</param>
            <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
            <remarks>
            <para>
            Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>. The default 
            repository is <c>log4net-default-repository</c>. Other repositories 
            must be created using the <see cref="M:CreateRepository(string, Type)"/>.
            If the named repository does not exist an exception is thrown.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
            <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> does not exist</exception>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Create a new repository for the assembly specified 
            </summary>
            <param name="assembly">not used</param>
            <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <returns>the repository created</returns>
            <remarks>
            <para>
            The <paramref name="assembly"/> argument is not used. This selector does not create a
            separate repository for each assembly. 
            </para>
            <para>
            If the <paramref name="repositoryType"/> is <c>null</c> then the
            default repository type specified to the constructor is used.
            </para>
            <para>
            As a named repository is not specified the default repository is 
            returned. The default repository is named <c>log4net-default-repository</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Create a new repository for the repository specified
            </summary>
            <param name="repositoryName">the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
            If this param is null then the default repository type is used.</param>
            <returns>the repository created</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(string)"/> with the
            same repository specified will return the same repository instance.
            </para>
            <para>
            If the named repository already exists an exception will be thrown.
            </para>
            <para>
            If <paramref name="repositoryType"/> is <c>null</c> then the default 
            repository type specified to the constructor is used.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
            <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> already exists</exception>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.ExistsRepository(System.String)">
            <summary>
            Test if a named repository exists
            </summary>
            <param name="repositoryName">the named repository to check</param>
            <returns><c>true</c> if the repository exists</returns>
            <remarks>
            <para>
            Test if a named repository exists. Use <see cref="M:CreateRepository(string, Type)"/>
            to create a new repository and <see cref="M:GetRepository(string)"/> to retrieve 
            a repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.GetAllRepositories">
            <summary>
            Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
            </summary>
            <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
            <remarks>
            <para>
            Gets an array of all of the repositories created by this selector.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.CompactRepositorySelector.declaringType">
            <summary>
            The fully qualified type of the CompactRepositorySelector class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Core.CompactRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
            <summary>
            Notify the registered listeners that the repository has been created
            </summary>
            <param name="repository">The repository that has been created</param>
            <remarks>
            <para>
            Raises the <event cref="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">LoggerRepositoryCreatedEvent</event>
            event.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
            <remarks>
            <para>
            Event raised when a new repository is created.
            The event source will be this selector. The event args will
            be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
            holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.DefaultRepositorySelector">
            <summary>
            The default implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface.
            </summary>
            <remarks>
            <para>
            Uses attributes defined on the calling assembly to determine how to
            configure the hierarchy for the repository.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.#ctor(System.Type)">
            <summary>
            Creates a new repository selector.
            </summary>
            <param name="defaultRepositoryType">The type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <remarks>
            <para>
            Create an new repository selector.
            The default type for repositories must be specified,
            an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="defaultRepositoryType"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="repositoryAssembly">The assembly use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <remarks>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and the repository 
            to create can be overridden by specifying the <see cref="T:log4net.Config.RepositoryAttribute"/> 
            attribute on the <paramref name="repositoryAssembly"/>.
            </para>
            <para>
            The default values are to use the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> 
            implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically configured using 
            any <see cref="T:log4net.Config.ConfiguratorAttribute"/> attributes defined on
            the <paramref name="repositoryAssembly"/>.
            </para>
            </remarks>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.
            </summary>
            <param name="repositoryName">The repository to use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.</returns>
            <remarks>
            <para>
            Returns the named repository. If <paramref name="repositoryName"/> is <c>null</c>
            a <see cref="T:System.ArgumentNullException"/> is thrown. If the repository 
            does not exist a <see cref="T:log4net.Core.LogException"/> is thrown.
            </para>
            <para>
            Use <see cref="M:CreateRepository(string, Type)"/> to create a repository.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null"/>.</exception>
            <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> does not exist.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Create a new repository for the assembly specified 
            </summary>
            <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
            the repository to create can be overridden by specifying the
            <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the 
            <paramref name="repositoryAssembly"/>.  The default values are to use the 
            <paramref name="repositoryType"/> implementation of the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
            configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
            attributes defined on the <paramref name="repositoryAssembly"/>.
            </para>
            <para>
            If a repository for the <paramref name="repositoryAssembly"/> already exists
            that repository will be returned. An error will not be raised and that 
            repository may be of a different type to that specified in <paramref name="repositoryType"/>.
            Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
            assembly may be used to override the repository type specified in 
            <paramref name="repositoryType"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type,System.String,System.Boolean)">
            <summary>
            Creates a new repository for the assembly specified.
            </summary>
            <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryName">The name to assign to the created repository</param>
            <param name="readAssemblyAttributes">Set to <c>true</c> to read and apply the assembly attributes</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
            the repository to create can be overridden by specifying the
            <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the 
            <paramref name="repositoryAssembly"/>.  The default values are to use the 
            <paramref name="repositoryType"/> implementation of the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
            configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
            attributes defined on the <paramref name="repositoryAssembly"/>.
            </para>
            <para>
            If a repository for the <paramref name="repositoryAssembly"/> already exists
            that repository will be returned. An error will not be raised and that 
            repository may be of a different type to that specified in <paramref name="repositoryType"/>.
            Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
            assembly may be used to override the repository type specified in 
            <paramref name="repositoryType"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a new repository for the specified repository.
            </summary>
            <param name="repositoryName">The repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
            If this param is <see langword="null"/> then the default repository type is used.</param>
            <returns>The new repository.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(string)"/> with the
            same repository specified will return the same repository instance.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null"/>.</exception>
            <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> already exists.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.ExistsRepository(System.String)">
            <summary>
            Test if a named repository exists
            </summary>
            <param name="repositoryName">the named repository to check</param>
            <returns><c>true</c> if the repository exists</returns>
            <remarks>
            <para>
            Test if a named repository exists. Use <see cref="M:CreateRepository(string, Type)"/>
            to create a new repository and <see cref="M:GetRepository(string)"/> to retrieve 
            a repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.GetAllRepositories">
            <summary>
            Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
            </summary>
            <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
            <remarks>
            <para>
            Gets an array of all of the repositories created by this selector.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.AliasRepository(System.String,log4net.Repository.ILoggerRepository)">
            <summary>
            Aliases a repository to an existing repository.
            </summary>
            <param name="repositoryAlias">The repository to alias.</param>
            <param name="repositoryTarget">The repository that the repository is aliased to.</param>
            <remarks>
            <para>
            The repository specified will be aliased to the repository when created. 
            The repository must not already exist.
            </para>
            <para>
            When the repository is created it must utilize the same repository type as 
            the repository it is aliased to, otherwise the aliasing will fail.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="repositoryAlias"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="repositoryTarget"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
            <summary>
            Notifies the registered listeners that the repository has been created.
            </summary>
            <param name="repository">The repository that has been created.</param>
            <remarks>
            <para>
            Raises the <see cref="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.GetInfoForAssembly(System.Reflection.Assembly,System.String@,System.Type@)">
            <summary>
            Gets the repository name and repository type for the specified assembly.
            </summary>
            <param name="assembly">The assembly that has a <see cref="T:log4net.Config.RepositoryAttribute"/>.</param>
            <param name="repositoryName">in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling.</param>
            <param name="repositoryType">in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="assembly"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.ConfigureRepository(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the repository using information from the assembly.
            </summary>
            <param name="assembly">The assembly containing <see cref="T:log4net.Config.ConfiguratorAttribute"/>
            attributes which define the configuration for the repository.</param>
            <param name="repository">The repository to configure.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="assembly"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="repository"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.LoadPlugins(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Loads the attribute defined plugins on the assembly.
            </summary>
            <param name="assembly">The assembly that contains the attributes.</param>
            <param name="repository">The repository to add the plugins to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="assembly"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="repository"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.DefaultRepositorySelector.LoadAliases(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Loads the attribute defined aliases on the assembly.
            </summary>
            <param name="assembly">The assembly that contains the attributes.</param>
            <param name="repository">The repository to alias to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="assembly"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="repository"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="F:log4net.Core.DefaultRepositorySelector.declaringType">
            <summary>
            The fully qualified type of the DefaultRepositorySelector class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
            <remarks>
            <para>
            Event raised when a new repository is created.
            The event source will be this selector. The event args will
            be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
            holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.ErrorCode">
            <summary>
            Defined error codes that can be passed to the <see cref="M:IErrorHandler.Error(string, Exception, ErrorCode)"/> method.
            </summary>
            <remarks>
            <para>
            Values passed to the <see cref="M:IErrorHandler.Error(string, Exception, ErrorCode)"/> method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.ErrorCode.GenericFailure">
            <summary>
            A general error
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.WriteFailure">
            <summary>
            Error while writing output
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.FlushFailure">
            <summary>
            Failed to flush file
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.CloseFailure">
            <summary>
            Failed to close file
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.FileOpenFailure">
            <summary>
            Unable to open output file
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.MissingLayout">
            <summary>
            No layout specified
            </summary>
        </member>
        <member name="F:log4net.Core.ErrorCode.AddressParseFailure">
            <summary>
            Failed to parse address
            </summary>
        </member>
        <member name="T:log4net.Core.ExceptionEvaluator">
            <summary>
            An evaluator that triggers on an Exception type
            </summary>
            <remarks>
            <para>
            This evaluator will trigger if the type of the Exception
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to a Type in <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.    /// 
            </para>
            </remarks>
            <author>Drew Schaeffer</author>
        </member>
        <member name="T:log4net.Core.ITriggeringEventEvaluator">
            <summary>
            Test if an <see cref="T:log4net.Core.LoggingEvent"/> triggers an action
            </summary>
            <remarks>
            <para>
            Implementations of this interface allow certain appenders to decide
            when to perform an appender specific action.
            </para>
            <para>
            The action or behavior triggered is defined by the implementation.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Test if this event triggers the action
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns><c>true</c> if this event triggers the action, otherwise <c>false</c></returns>
            <remarks>
            <para>
            Return <c>true</c> if this event triggers the action
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.ExceptionEvaluator.m_type">
            <summary>
            The type that causes the trigger to fire.
            </summary>
        </member>
        <member name="F:log4net.Core.ExceptionEvaluator.m_triggerOnSubclass">
            <summary>
            Causes subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/> to cause the trigger to fire.
            </summary>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.#ctor">
            <summary>
            Default ctor to allow dynamic creation through a configurator.
            </summary>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.#ctor(System.Type,System.Boolean)">
            <summary>
            Constructs an evaluator and initializes to trigger on <paramref name="exType"/>
            </summary>
            <param name="exType">the type that triggers this evaluator.</param>
            <param name="triggerOnSubClass">If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.</param>
        </member>
        <member name="M:log4net.Core.ExceptionEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the logging event Exception 
            Type is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>
            This evaluator will trigger if the Exception Type of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ExceptionEvaluator.ExceptionType">
            <summary>
            The type that triggers this evaluator.
            </summary>
        </member>
        <member name="P:log4net.Core.ExceptionEvaluator.TriggerOnSubclass">
            <summary>
            If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
            </summary>
        </member>
        <member name="T:log4net.Core.IErrorHandler">
            <summary>
            Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler"/>.
            </summary>
            <remarks>
            <para>
            Error handling is a particularly tedious to get right because by
            definition errors are hard to predict and to reproduce. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
            <summary>
            Handles the error and information about the error condition is passed as 
            a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
            <param name="errorCode">The error code associated with the error.</param>
            <remarks>
            <para>
            Handles the error and information about the error condition is passed as 
            a parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
            <remarks>
            <para>
            See <see cref="M:Error(string,Exception,ErrorCode)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <remarks>
            <para>
            See <see cref="M:Error(string,Exception,ErrorCode)"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.IFixingRequired">
            <summary>
            Interface for objects that require fixing.
            </summary>
            <remarks>
            <para>
            Interface that indicates that the object requires fixing before it
            can be taken outside the context of the appender's 
            <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
            </para>
            <para>
            When objects that implement this interface are stored 
            in the context properties maps <see cref="T:log4net.GlobalContext"/>
            <see cref="P:log4net.GlobalContext.Properties"/> and <see cref="T:log4net.ThreadContext"/>
            <see cref="P:log4net.ThreadContext.Properties"/> are fixed 
            (see <see cref="P:log4net.Core.LoggingEvent.Fix"/>) the <see cref="M:log4net.Core.IFixingRequired.GetFixedObject"/>
            method will be called.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
            <summary>
            Get a portable version of this object
            </summary>
            <returns>the portable instance of this object</returns>
            <remarks>
            <para>
            Get a portable instance object that represents the current
            state of this object. The portable object can be stored
            and logged from any thread with identical results.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.ILogger">
            <summary>
            Interface that all loggers implement
            </summary>
            <remarks>
            <para>
            This interface supports logging events and testing if a level
            is enabled for logging.
            </para>
            <para>
            These methods will not throw exceptions. Note to implementor, ensure
            that the implementation of these methods cannot allow an exception
            to be thrown to the caller.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.ILogger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">the exception to log, including its stack trace. Pass <c>null</c> to not log an exception.</param>
            <remarks>
            <para>
            Generates a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="exception"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.ILogger.Log(log4net.Core.LoggingEvent)">
            <summary>
            This is the most generic printing method that is intended to be used 
            by wrappers.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Logs the specified logging event through this logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.ILogger.IsEnabledFor(log4net.Core.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="T:log4net.Core.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
            <remarks>
            <para>
            Test if this logger is going to log events of the specified <paramref name="level"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ILogger.Name">
            <summary>
            Gets the name of the logger.
            </summary>
            <value>
            The name of the logger.
            </value>
            <remarks>
            <para>
            The name of this logger
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.ILogger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
            </value>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.ILoggerWrapper">
            <summary>
            Base interface for all wrappers
            </summary>
            <remarks>
            <para>
            Base interface for all wrappers.
            </para>
            <para>
            All wrappers must implement this interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="P:log4net.Core.ILoggerWrapper.Logger">
            <summary>
            Get the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ILogger"/> object that in implementing this object.
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Core.ILogger"/> object that in implementing this
            object. The <c>Logger</c> object may not 
            be the same object as this object because of logger decorators.
            This gets the actual underlying objects that is used to process
            the log events.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggerRepositoryCreationEventHandler">
            <summary>
            Delegate used to handle logger repository creation event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Core.IRepositorySelector"/> which created the repository.</param>
            <param name="e">The <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> event args
            that holds the <see cref="T:log4net.Repository.ILoggerRepository"/> instance that has been created.</param>
            <remarks>
            <para>
            Delegate used to handle logger repository creation event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggerRepositoryCreationEventArgs">
            <summary>
            Provides data for the <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
            </summary>
            <remarks>
            <para>
            A <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> 
            event is raised every time a <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerRepositoryCreationEventArgs.m_repository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created
            </summary>
        </member>
        <member name="M:log4net.Core.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            </summary>
            <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
            <remarks>
            <para>
            Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggerRepositoryCreationEventArgs.LoggerRepository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </value>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.Level">
            <summary>
            Defines the default set of levels recognized by the system.
            </summary>
            <remarks>
            <para>
            Each <see cref="T:log4net.Core.LoggingEvent"/> has an associated <see cref="T:log4net.Core.Level"/>.
            </para>
            <para>
            Levels have a numeric <see cref="P:log4net.Core.Level.Value"/> that defines the relative 
            ordering between levels. Two Levels with the same <see cref="P:log4net.Core.Level.Value"/> 
            are deemed to be equivalent.
            </para>
            <para>
            The levels that are recognized by log4net are set for each <see cref="T:log4net.Repository.ILoggerRepository"/>
            and each repository can have different levels defined. The levels are stored
            in the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> on the repository. Levels are
            looked up by name from the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>.
            </para>
            <para>
            When logging at level INFO the actual level used is not <see cref="F:log4net.Core.Level.Info"/> but
            the value of <c>LoggerRepository.LevelMap["INFO"]</c>. The default value for this is
            <see cref="F:log4net.Core.Level.Info"/>, but this can be changed by reconfiguring the level map.
            </para>
            <para>
            Each level has a <see cref="P:log4net.Core.Level.DisplayName"/> in addition to its <see cref="P:log4net.Core.Level.Name"/>. The 
            <see cref="P:log4net.Core.Level.DisplayName"/> is the string that is written into the output log. By default
            the display name is the same as the level name, but this can be used to alias levels
            or to localize the log output.
            </para>
            <para>
            Some of the predefined levels recognized by the system are:
            </para>
            <list type="bullet">
            	<item>
            		<description><see cref="F:log4net.Core.Level.Off"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Fatal"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Error"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Warn"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Info"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.Debug"/>.</description>
            	</item>
            	<item>
            		<description><see cref="F:log4net.Core.Level.All"/>.</description>
            	</item>
            </list>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="level">Integer value for this level, higher values represent more severe levels.</param>
            <param name="levelName">The string name of this level.</param>
            <param name="displayName">The display name for this level. This may be localized or otherwise different from the name</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
            the specified level name and value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="level">Integer value for this level, higher values represent more severe levels.</param>
            <param name="levelName">The string name of this level.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
            the specified level name and value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.ToString">
            <summary>
            Returns the <see cref="T:System.String"/> representation of the current 
            <see cref="T:log4net.Core.Level"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> representation of the current <see cref="T:log4net.Core.Level"/>.
            </returns>
            <remarks>
            <para>
            Returns the level <see cref="P:log4net.Core.Level.Name"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.Equals(System.Object)">
            <summary>
            Compares levels.
            </summary>
            <param name="o">The object to compare against.</param>
            <returns><c>true</c> if the objects are equal.</returns>
            <remarks>
            <para>
            Compares the levels of <see cref="T:log4net.Core.Level"/> instances, and 
            defers to base class if the target object is not a <see cref="T:log4net.Core.Level"/>
            instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.GetHashCode">
            <summary>
            Returns a hash code
            </summary>
            <returns>A hash code for the current <see cref="T:log4net.Core.Level"/>.</returns>
            <remarks>
            <para>
            Returns a hash code suitable for use in hashing algorithms and data 
            structures like a hash table.
            </para>
            <para>
            Returns the hash code of the level <see cref="P:log4net.Core.Level.Value"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an 
            indication of their relative values.
            </summary>
            <param name="r">A <see cref="T:log4net.Core.Level"/> instance or <see langword="null"/> to compare with this instance.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the 
            values compared. The return value has these meanings:
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Meaning</description>
            	</listheader>
            	<item>
            		<term>Less than zero</term>
            		<description>This instance is less than <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Zero</term>
            		<description>This instance is equal to <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Greater than zero</term>
            		<description>
            			<para>This instance is greater than <paramref name="r"/>.</para>
            			<para>-or-</para>
            			<para><paramref name="r"/> is <see langword="null"/>.</para>
            			</description>
            	</item>
            </list>
            </returns>
            <remarks>
            <para>
            <paramref name="r"/> must be an instance of <see cref="T:log4net.Core.Level"/> 
            or <see langword="null"/>; otherwise, an exception is thrown.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException"><paramref name="r"/> is not a <see cref="T:log4net.Core.Level"/>.</exception>
        </member>
        <member name="M:log4net.Core.Level.op_GreaterThan(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is greater than another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is greater than 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_LessThan(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is less than another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is less than 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_GreaterThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is greater than or equal to another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is greater than or equal to 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_LessThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
            is less than or equal to another specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/></param>
            <param name="r">A <see cref="T:log4net.Core.Level"/></param>
            <returns>
            <c>true</c> if <paramref name="l"/> is less than or equal to 
            <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_Equality(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
            objects have the same value.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <returns>
            <c>true</c> if the value of <paramref name="l"/> is the same as the 
            value of <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.op_Inequality(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
            objects have different values.
            </summary>
            <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
            <returns>
            <c>true</c> if the value of <paramref name="l"/> is different from
            the value of <paramref name="r"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.Level.Compare(log4net.Core.Level,log4net.Core.Level)">
            <summary>
            Compares two specified <see cref="T:log4net.Core.Level"/> instances.
            </summary>
            <param name="l">The first <see cref="T:log4net.Core.Level"/> to compare.</param>
            <param name="r">The second <see cref="T:log4net.Core.Level"/> to compare.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the 
            two values compared. The return value has these meanings:
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Meaning</description>
            	</listheader>
            	<item>
            		<term>Less than zero</term>
            		<description><paramref name="l"/> is less than <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Zero</term>
            		<description><paramref name="l"/> is equal to <paramref name="r"/>.</description>
            	</item>
            	<item>
            		<term>Greater than zero</term>
            		<description><paramref name="l"/> is greater than <paramref name="r"/>.</description>
            	</item>
            </list>
            </returns>
            <remarks>
            <para>
            Compares two levels.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.Level.Off">
            <summary>
            The <see cref="F:log4net.Core.Level.Off"/> level designates a higher level than all the rest.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Log4Net_Debug">
            <summary>
            The <see cref="F:log4net.Core.Level.Emergency"/> level designates very severe error events. 
            System unusable, emergencies.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Emergency">
            <summary>
            The <see cref="F:log4net.Core.Level.Emergency"/> level designates very severe error events. 
            System unusable, emergencies.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Fatal">
            <summary>
            The <see cref="F:log4net.Core.Level.Fatal"/> level designates very severe error events 
            that will presumably lead the application to abort.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Alert">
            <summary>
            The <see cref="F:log4net.Core.Level.Alert"/> level designates very severe error events. 
            Take immediate action, alerts.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Critical">
            <summary>
            The <see cref="F:log4net.Core.Level.Critical"/> level designates very severe error events. 
            Critical condition, critical.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Severe">
            <summary>
            The <see cref="F:log4net.Core.Level.Severe"/> level designates very severe error events.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Error">
            <summary>
            The <see cref="F:log4net.Core.Level.Error"/> level designates error events that might 
            still allow the application to continue running.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Warn">
            <summary>
            The <see cref="F:log4net.Core.Level.Warn"/> level designates potentially harmful 
            situations.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Notice">
            <summary>
            The <see cref="F:log4net.Core.Level.Notice"/> level designates informational messages 
            that highlight the progress of the application at the highest level.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Info">
            <summary>
            The <see cref="F:log4net.Core.Level.Info"/> level designates informational messages that 
            highlight the progress of the application at coarse-grained level.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Debug">
            <summary>
            The <see cref="F:log4net.Core.Level.Debug"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Fine">
            <summary>
            The <see cref="F:log4net.Core.Level.Fine"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Trace">
            <summary>
            The <see cref="F:log4net.Core.Level.Trace"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Finer">
            <summary>
            The <see cref="F:log4net.Core.Level.Finer"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Verbose">
            <summary>
            The <see cref="F:log4net.Core.Level.Verbose"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.Finest">
            <summary>
            The <see cref="F:log4net.Core.Level.Finest"/> level designates fine-grained informational 
            events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.Core.Level.All">
            <summary>
            The <see cref="F:log4net.Core.Level.All"/> level designates the lowest level possible.
            </summary>
        </member>
        <member name="P:log4net.Core.Level.Name">
            <summary>
            Gets the name of this level.
            </summary>
            <value>
            The name of this level.
            </value>
            <remarks>
            <para>
            Gets the name of this level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.Level.Value">
            <summary>
            Gets the value of this level.
            </summary>
            <value>
            The value of this level.
            </value>
            <remarks>
            <para>
            Gets the value of this level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.Level.DisplayName">
            <summary>
            Gets the display name of this level.
            </summary>
            <value>
            The display name of this level.
            </value>
            <remarks>
            <para>
            Gets the display name of this level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LevelCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Core.Level"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.LevelCollection.ReadOnly(log4net.Core.LevelCollection)">
            <summary>
            Creates a read-only wrapper for a <c>LevelCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            A <c>LevelCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <c>LevelCollection</c>.
            </summary>
            <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.Level[])">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Core.Level"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
        </member>
        <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[])">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.Core.Level"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[],System.Int32)">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.Core.Level"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Core.LevelCollection.Add(log4net.Core.Level)">
            <summary>
            Adds a <see cref="T:log4net.Core.Level"/> to the end of the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Clear">
            <summary>
            Removes all elements from the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Core.LevelCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Contains(log4net.Core.Level)">
            <summary>
            Determines whether a given <see cref="T:log4net.Core.Level"/> is in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>LevelCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.IndexOf(log4net.Core.Level)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Core.Level"/>
            in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to locate in the <c>LevelCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>LevelCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.Insert(System.Int32,log4net.Core.Level)">
            <summary>
            Inserts an element into the <c>LevelCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.Remove(log4net.Core.Level)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Core.Level"/> from the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Core.Level"/> to remove from the <c>LevelCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Core.Level"/> was not found in the <c>LevelCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>LevelCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>LevelCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Core.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.LevelCollection)">
            <summary>
            Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <c>LevelCollection</c> whose elements should be added to the end of the current <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.Level[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Core.Level"/> array to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Core.Level"/> array whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Core.Level"/> collection to the current <c>LevelCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.Core.LevelCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Core.LevelCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <value>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Core.Level"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Core.LevelCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>LevelCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.ILevelCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
        </member>
        <member name="F:log4net.Core.LevelCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Core.LevelCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.#ctor(log4net.Core.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Core.LevelCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Core.LevelCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Core.LevelEvaluator">
            <summary>
            An evaluator that triggers at a threshold level
            </summary>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.LevelEvaluator.m_threshold">
            <summary>
            The threshold for triggering
            </summary>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.#ctor">
            <summary>
            Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
            </summary>
            <remarks>
            <para>
            Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
            </para>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.#ctor(log4net.Core.Level)">
            <summary>
            Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
            </summary>
            <param name="threshold">the threshold to trigger at</param>
            <remarks>
            <para>
            Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
            </para>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the event level
            is equal or higher than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelEvaluator.Threshold">
            <summary>
            the threshold to trigger at
            </summary>
            <value>
            The <see cref="T:log4net.Core.Level"/> that will cause this evaluator to trigger
            </value>
            <remarks>
            <para>
            This evaluator will trigger if the level of the event
            passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
            level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LevelMap">
            <summary>
            Mapping between string name and Level object
            </summary>
            <remarks>
            <para>
            Mapping between string name and <see cref="T:log4net.Core.Level"/> object.
            This mapping is held separately for each <see cref="T:log4net.Repository.ILoggerRepository"/>.
            The level name is case insensitive.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.LevelMap.m_mapName2Level">
            <summary>
            Mapping from level name to Level object. The
            level name is case insensitive
            </summary>
        </member>
        <member name="M:log4net.Core.LevelMap.#ctor">
            <summary>
            Construct the level map
            </summary>
            <remarks>
            <para>
            Construct the level map.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Clear">
            <summary>
            Clear the internal maps of all levels
            </summary>
            <remarks>
            <para>
            Clear the internal maps of all levels
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32)">
            <summary>
            Create a new Level and add it to the map
            </summary>
            <param name="name">the string to display for the Level</param>
            <param name="value">the level value to give to the Level</param>
            <remarks>
            <para>
            Create a new Level and add it to the map
            </para>
            </remarks>
            <seealso cref="M:Add(string,int,string)"/>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)">
            <summary>
            Create a new Level and add it to the map
            </summary>
            <param name="name">the string to display for the Level</param>
            <param name="value">the level value to give to the Level</param>
            <param name="displayName">the display name to give to the Level</param>
            <remarks>
            <para>
            Create a new Level and add it to the map
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.Add(log4net.Core.Level)">
            <summary>
            Add a Level to the map
            </summary>
            <param name="level">the Level to add</param>
            <remarks>
            <para>
            Add a Level to the map
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LevelMap.LookupWithDefault(log4net.Core.Level)">
            <summary>
            Lookup a named level from the map
            </summary>
            <param name="defaultLevel">the name of the level to lookup is taken from this level. 
            If the level is not set on the map then this level is added</param>
            <returns>the level in the map with the name specified</returns>
            <remarks>
            <para>
            Lookup a named level from the map. The name of the level to lookup is taken
            from the <see cref="P:log4net.Core.Level.Name"/> property of the <paramref name="defaultLevel"/>
            argument.
            </para>
            <para>
            If no level with the specified name is found then the 
            <paramref name="defaultLevel"/> argument is added to the level map
            and returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelMap.Item(System.String)">
            <summary>
            Lookup a <see cref="T:log4net.Core.Level"/> by name
            </summary>
            <param name="name">The name of the Level to lookup</param>
            <returns>a Level from the map with the name specified</returns>
            <remarks>
            <para>
            Returns the <see cref="T:log4net.Core.Level"/> from the
            map with the name specified. If the no level is
            found then <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LevelMap.AllLevels">
            <summary>
            Return all possible levels as a list of Level objects.
            </summary>
            <returns>all possible levels as a list of Level objects</returns>
            <remarks>
            <para>
            Return all possible levels as a list of Level objects.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LocationInfo">
            <summary>
            The internal representation of caller location information.
            </summary>
            <remarks>
            <para>
            This class uses the <c>System.Diagnostics.StackTrace</c> class to generate
            a call stack. The caller's information is then extracted from this stack.
            </para>
            <para>
            The <c>System.Diagnostics.StackTrace</c> class is not supported on the 
            .NET Compact Framework 1.0 therefore caller location information is not
            available on that framework.
            </para>
            <para>
            The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
            </para>
            <para>
            "StackTrace information will be most informative with Debug build configurations. 
            By default, Debug builds include debug symbols, while Release builds do not. The 
            debug symbols contain most of the file, method name, line number, and column 
            information used in constructing StackFrame and StackTrace objects. StackTrace 
            might not report as many method calls as expected, due to code transformations 
            that occur during optimization."
            </para>
            <para>
            This means that in a Release build the caller information may be incomplete or may 
            not exist at all! Therefore caller location information cannot be relied upon in a Release build.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Core.LocationInfo.NA">
            <summary>
            When location information is not available the constant
            <c>NA</c> is returned. Current value of this string
            constant is <b>?</b>.
            </summary>
        </member>
        <member name="M:log4net.Core.LocationInfo.#ctor(System.Type)">
            <summary>
            Constructor
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
            class based on the current thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="className">The fully qualified class name.</param>
            <param name="methodName">The method name.</param>
            <param name="fileName">The file name.</param>
            <param name="lineNumber">The line number of the method within the file.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
            class with the specified data.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LocationInfo.declaringType">
            <summary>
            The fully qualified type of the LocationInfo class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.ClassName">
            <summary>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </summary>
            <value>
            The fully qualified class name of the caller making the logging 
            request.
            </value>
            <remarks>
            <para>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.FileName">
            <summary>
            Gets the file name of the caller.
            </summary>
            <value>
            The file name of the caller.
            </value>
            <remarks>
            <para>
            Gets the file name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.LineNumber">
            <summary>
            Gets the line number of the caller.
            </summary>
            <value>
            The line number of the caller.
            </value>
            <remarks>
            <para>
            Gets the line number of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.MethodName">
            <summary>
            Gets the method name of the caller.
            </summary>
            <value>
            The method name of the caller.
            </value>
            <remarks>
            <para>
            Gets the method name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.FullInfo">
            <summary>
            Gets all available caller information
            </summary>
            <value>
            All available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </value>
            <remarks>
            <para>
            Gets all available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LocationInfo.StackFrames">
            <summary>
            Gets the stack frames from the stack trace of the caller making the log request
            </summary>
        </member>
        <member name="T:log4net.Core.LoggerManager">
            <summary>
            Static manager that controls the creation of repositories
            </summary>
            <remarks>
            <para>
            Static manager that controls the creation of repositories
            </para>
            <para>
            This class is used by the wrapper managers (e.g. <see cref="T:log4net.LogManager"/>)
            to provide access to the <see cref="T:log4net.Core.ILogger"/> objects.
            </para>
            <para>
            This manager also holds the <see cref="T:log4net.Core.IRepositorySelector"/> that is used to
            lookup and create repositories. The selector can be set either programmatically using
            the <see cref="P:log4net.Core.LoggerManager.RepositorySelector"/> property, or by setting the <c>log4net.RepositorySelector</c>
            AppSetting in the applications config file to the fully qualified type name of the
            selector to use. 
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.LoggerManager.#ctor">
            <summary>
            Private constructor to prevent instances. Only static methods should be used.
            </summary>
            <remarks>
            <para>
            Private constructor to prevent instances. Only static methods should be used.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.#cctor">
            <summary>
            Hook the shutdown event
            </summary>
            <remarks>
            <para>
            On the full .NET runtime, the static constructor hooks up the 
            <c>AppDomain.ProcessExit</c> and <c>AppDomain.DomainUnload</c>> events. 
            These are used to shutdown the log4net system as the application exits.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.RegisterAppDomainEvents">
            <summary>
            Register for ProcessExit and DomainUnload events on the AppDomain
            </summary>
            <remarks>
            <para>
            This needs to be in a separate method because the events make
            a LinkDemand for the ControlAppDomain SecurityPermission. Because
            this is a LinkDemand it is demanded at JIT time. Therefore we cannot
            catch the exception in the method itself, we have to catch it in the
            caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.String)">
            <summary>
            Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repository">the repository to lookup in</param>
            <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetRepository(System.String)">
            <summary>
            Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repository">the repository to lookup in</param>
            <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified repository.
            </returns>
            <remarks>
            <para>
            If the named logger exists (in the specified repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified assembly's repository.
            </returns>
            <remarks>
            <para>
            If the named logger exists (in the specified assembly's repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified repository.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <returns>All the defined loggers.</returns>
            <remarks>
            <para>
            The root logger is <b>not</b> included in the returned array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's repository.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <returns>All the defined loggers.</returns>
            <remarks>
            <para>
            The root logger is <b>not</b> included in the returned array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Gets the logger for the fully qualified name of the type specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
            </summary>
            <param name="repositoryAssembly">the assembly to use to lookup the repository</param>
            <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
            <remarks>
            <para>
            Gets the logger for the fully qualified name of the type specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <param name="repository">The repository to shutdown.</param>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the <paramref name="repository"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the repository. The repository is looked up using
            the <paramref name="repositoryAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <param name="repository">The repository to reset.</param>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An Exception will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An Exception will be thrown if the repository already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetAllRepositories">
            <summary>
            Gets an array of all currently defined repositories.
            </summary>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
            <remarks>
            <para>
            Gets an array of all currently defined repositories.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.GetVersionInfo">
            <summary>
            Internal method to get pertinent version info.
            </summary>
            <returns>A string of version info.</returns>
        </member>
        <member name="M:log4net.Core.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>
            Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.
            </para>
            <para>
            When the event is triggered the log4net system is <see cref="M:Shutdown()"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>
            Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.
            </para>
            <para>
            When the event is triggered the log4net system is <see cref="M:Shutdown()"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerManager.declaringType">
            <summary>
            The fully qualified type of the LoggerManager class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerManager.s_repositorySelector">
            <summary>
            Initialize the default repository selector
            </summary>
        </member>
        <member name="P:log4net.Core.LoggerManager.RepositorySelector">
            <summary>
            Gets or sets the repository selector used by the <see cref="T:log4net.LogManager"/>.
            </summary>
            <value>
            The repository selector used by the <see cref="T:log4net.LogManager"/>.
            </value>
            <remarks>
            <para>
            The repository selector (<see cref="T:log4net.Core.IRepositorySelector"/>) is used by 
            the <see cref="T:log4net.LogManager"/> to create and select repositories 
            (<see cref="T:log4net.Repository.ILoggerRepository"/>).
            </para>
            <para>
            The caller to <see cref="T:log4net.LogManager"/> supplies either a string name 
            or an assembly (if not supplied the assembly is inferred using 
            <see cref="M:Assembly.GetCallingAssembly()"/>).
            </para>
            <para>
            This context is used by the selector to lookup a specific repository.
            </para>
            <para>
            For the full .NET Framework, the default repository is <c>DefaultRepositorySelector</c>;
            for the .NET Compact Framework <c>CompactRepositorySelector</c> is the default
            repository.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggerWrapperImpl">
            <summary>
            Implementation of the <see cref="T:log4net.Core.ILoggerWrapper"/> interface.
            </summary>
            <remarks>
            <para>
            This class should be used as the base for all wrapper implementations.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.LoggerWrapperImpl.#ctor(log4net.Core.ILogger)">
            <summary>
            Constructs a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <remarks>
            <para>
            Constructs a new wrapper for the specified logger.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggerWrapperImpl.m_logger">
            <summary>
            The logger that this object is wrapping
            </summary>
        </member>
        <member name="P:log4net.Core.LoggerWrapperImpl.Logger">
            <summary>
            Gets the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.Core.ILogger"/> object that this object is implementing.
            </value>
            <remarks>
            <para>
            The <c>Logger</c> object may not be the same object as this object 
            because of logger decorators.
            </para>
            <para>
            This gets the actual underlying objects that is used to process
            the log events.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggingEventData">
            <summary>
            Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
            </summary>
            <remarks>
            <para>
            Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.LoggingEventData.LoggerName">
            <summary>
            The logger name.
            </summary>
            <remarks>
            <para>
            The logger name.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.Level">
            <summary>
            Level of logging event.
            </summary>
            <remarks>
            <para>
            Level of logging event. Level cannot be Serializable
            because it is a flyweight.  Due to its special serialization it
            cannot be declared final either.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.Message">
            <summary>
            The application supplied message.
            </summary>
            <remarks>
            <para>
            The application supplied message of logging event.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.ThreadName">
            <summary>
            The name of thread
            </summary>
            <remarks>
            <para>
            The name of thread in which this logging event was generated
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.TimeStamp">
            <summary>
            The time the event was logged
            </summary>
            <remarks>
            <para>
            The TimeStamp is stored in the local time zone for this computer.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.LocationInfo">
            <summary>
            Location information for the caller.
            </summary>
            <remarks>
            <para>
            Location information for the caller.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.UserName">
            <summary>
            String representation of the user
            </summary>
            <remarks>
            <para>
            String representation of the user's windows name,
            like DOMAIN\username
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.Identity">
            <summary>
            String representation of the identity.
            </summary>
            <remarks>
            <para>
            String representation of the current thread's principal identity.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.ExceptionString">
            <summary>
            The string representation of the exception
            </summary>
            <remarks>
            <para>
            The string representation of the exception
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.Domain">
            <summary>
            String representation of the AppDomain.
            </summary>
            <remarks>
            <para>
            String representation of the AppDomain.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEventData.Properties">
            <summary>
            Additional event specific properties
            </summary>
            <remarks>
            <para>
            A logger or an appender may attach additional
            properties to specific events. These properties
            have a string key and an object value.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.FixFlags">
            <summary>
            Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
            </summary>
            <remarks>
            <para>
            Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.FixFlags.Mdc">
            <summary>
            Fix the MDC
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.Ndc">
            <summary>
            Fix the NDC
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.Message">
            <summary>
            Fix the rendered message
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.ThreadName">
            <summary>
            Fix the thread name
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.LocationInfo">
            <summary>
            Fix the callers location information
            </summary>
            <remarks>
            CAUTION: Very slow to generate
            </remarks>
        </member>
        <member name="F:log4net.Core.FixFlags.UserName">
            <summary>
            Fix the callers windows user name
            </summary>
            <remarks>
            CAUTION: Slow to generate
            </remarks>
        </member>
        <member name="F:log4net.Core.FixFlags.Domain">
            <summary>
            Fix the domain friendly name
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.Identity">
            <summary>
            Fix the callers principal name
            </summary>
            <remarks>
            CAUTION: May be slow to generate
            </remarks>
        </member>
        <member name="F:log4net.Core.FixFlags.Exception">
            <summary>
            Fix the exception text
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.Properties">
            <summary>
            Fix the event properties. Active properties must implement <see cref="T:log4net.Core.IFixingRequired"/> in order to be eligible for fixing.
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.None">
            <summary>
            No fields fixed
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.All">
            <summary>
            All fields fixed
            </summary>
        </member>
        <member name="F:log4net.Core.FixFlags.Partial">
            <summary>
            Partial fields fixed
            </summary>
            <remarks>
            <para>
            This set of partial fields gives good performance. The following fields are fixed:
            </para>
            <list type="bullet">
            <item><description><see cref="F:log4net.Core.FixFlags.Message"/></description></item>
            <item><description><see cref="F:log4net.Core.FixFlags.ThreadName"/></description></item>
            <item><description><see cref="F:log4net.Core.FixFlags.Exception"/></description></item>
            <item><description><see cref="F:log4net.Core.FixFlags.Domain"/></description></item>
            <item><description><see cref="F:log4net.Core.FixFlags.Properties"/></description></item>
            </list>
            </remarks>
        </member>
        <member name="T:log4net.Core.LoggingEvent">
            <summary>
            The internal representation of logging events. 
            </summary>
            <remarks>
            <para>
            When an affirmative decision is made to log then a 
            <see cref="T:log4net.Core.LoggingEvent"/> instance is created. This instance 
            is passed around to the different log4net components.
            </para>
            <para>
            This class is of concern to those wishing to extend log4net.
            </para>
            <para>
            Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:FixVolatileData()"/>. There is a performance penalty
            for incurred by calling <see cref="M:FixVolatileData()"/> but it
            is essential to maintaining data consistency.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Douglas de la Torre</author>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="F:log4net.Core.LoggingEvent.HostNameProperty">
            <summary>
            The key into the Properties map for the host name value.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.IdentityProperty">
            <summary>
            The key into the Properties map for the thread identity value.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.UserNameProperty">
            <summary>
            The key into the Properties map for the user name value.
            </summary>
        </member>
        <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,System.String,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
            from the supplied parameters.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="repository">The repository this event is logged in.</param>
            <param name="loggerName">The name of the logger of this event.</param>
            <param name="level">The level of this event.</param>
            <param name="message">The message of this event.</param>
            <param name="exception">The exception for this event.</param>
            <remarks>
            <para>
            Except <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>, <see cref="P:log4net.Core.LoggingEvent.Level"/> and <see cref="P:log4net.Core.LoggingEvent.LoggerName"/>, 
            all fields of <c>LoggingEvent</c> are filled when actually needed. Call
            <see cref="M:FixVolatileData()"/> to cache all data locally
            to prevent inconsistencies.
            </para>
            <para>This method is called by the log4net framework
            to create a logging event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData,log4net.Core.FixFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
            using specific data.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="repository">The repository this event is logged in.</param>
            <param name="data">Data used to initialize the logging event.</param>
            <param name="fixedData">The fields in the <paranref name="data"/> struct that have already been fixed.</param>
            <remarks>
            <para>
            This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
            to be created independently of the log4net framework. This can
            be useful if you require a custom serialization scheme.
            </para>
            <para>
            Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an 
            instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
            </para>
            <para>
            The <paramref name="fixedData"/> parameter should be used to specify which fields in the
            <paramref name="data"/> struct have been preset. Fields not specified in the <paramref name="fixedData"/>
            will be captured from the environment if requested or fixed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
            using specific data.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="repository">The repository this event is logged in.</param>
            <param name="data">Data used to initialize the logging event.</param>
            <remarks>
            <para>
            This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
            to be created independently of the log4net framework. This can
            be useful if you require a custom serialization scheme.
            </para>
            <para>
            Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an 
            instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
            </para>
            <para>
            This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
            this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
            parameter and no other data should be captured from the environment.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.#ctor(log4net.Core.LoggingEventData)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
            using specific data.
            </summary>
            <param name="data">Data used to initialize the logging event.</param>
            <remarks>
            <para>
            This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
            to be created independently of the log4net framework. This can
            be useful if you require a custom serialization scheme.
            </para>
            <para>
            Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an 
            instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
            </para>
            <para>
            This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
            this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
            parameter and no other data should be captured from the environment.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.EnsureRepository(log4net.Repository.ILoggerRepository)">
            <summary>
            Ensure that the repository is set.
            </summary>
            <param name="repository">the value for the repository</param>
        </member>
        <member name="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)">
            <summary>
            Write the rendered message to a TextWriter
            </summary>
            <param name="writer">the writer to write the message to</param>
            <remarks>
            <para>
            Unlike the <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property this method
            does store the message data in the internal cache. Therefore 
            if called only once this method should be faster than the
            <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property, however if the message is
            to be accessed multiple times then the property will be more efficient.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination for this serialization.</param>
            <remarks>
            <para>
            The data in this event must be fixed before it can be serialized.
            </para>
            <para>
            The <see cref="M:FixVolatileData()"/> method must be called during the
            <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method call if this event 
            is to be used outside that method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData">
            <summary>
            Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
            </summary>
            <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
            <remarks>
            <para>
            A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
            <see cref="T:log4net.Core.LoggingEventData"/> instance.
            </para>
            <para>
            Does a <see cref="F:log4net.Core.FixFlags.Partial"/> fix of the data
            in the logging event before returning the event data.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)">
            <summary>
            Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
            </summary>
            <param name="fixFlags">The set of data to ensure is fixed in the LoggingEventData</param>
            <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
            <remarks>
            <para>
            A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
            <see cref="T:log4net.Core.LoggingEventData"/> instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetExceptionStrRep">
            <summary>
            Returns this event's exception's rendered using the 
            <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </summary>
            <returns>
            This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </returns>
            <remarks>
            <para>
            <b>Obsolete. Use <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> instead.</b>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetExceptionString">
            <summary>
            Returns this event's exception's rendered using the 
            <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </summary>
            <returns>
            This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </returns>
            <remarks>
            <para>
            Returns this event's exception's rendered using the 
            <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.FixVolatileData">
            <summary>
            Fix instance fields that hold volatile data.
            </summary>
            <remarks>
            <para>
            Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:FixVolatileData()"/>. There is a performance penalty
            incurred by calling <see cref="M:FixVolatileData()"/> but it
            is essential to maintaining data consistency.
            </para>
            <para>
            Calling <see cref="M:FixVolatileData()"/> is equivalent to
            calling <see cref="M:FixVolatileData(bool)"/> passing the parameter
            <c>false</c>.
            </para>
            <para>
            See <see cref="M:FixVolatileData(bool)"/> for more
            information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)">
            <summary>
            Fixes instance fields that hold volatile data.
            </summary>
            <param name="fastButLoose">Set to <c>true</c> to not fix data that takes a long time to fix.</param>
            <remarks>
            <para>
            Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:FixVolatileData()"/>. There is a performance penalty
            for incurred by calling <see cref="M:FixVolatileData()"/> but it
            is essential to maintaining data consistency.
            </para>
            <para>
            The <paramref name="fastButLoose"/> param controls the data that
            is fixed. Some of the data that can be fixed takes a long time to 
            generate, therefore if you do not require those settings to be fixed
            they can be ignored by setting the <paramref name="fastButLoose"/> param
            to <c>true</c>. This setting will ignore the <see cref="P:log4net.Core.LoggingEvent.LocationInformation"/>
            and <see cref="P:log4net.Core.LoggingEvent.UserName"/> settings.
            </para>
            <para>
            Set <paramref name="fastButLoose"/> to <c>false</c> to ensure that all 
            settings are fixed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)">
            <summary>
            Fix the fields specified by the <see cref="T:log4net.Core.FixFlags"/> parameter
            </summary>
            <param name="flags">the fields to fix</param>
            <remarks>
            <para>
            Only fields specified in the <paramref name="flags"/> will be fixed.
            Fields will not be fixed if they have previously been fixed.
            It is not possible to 'unfix' a field.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.LookupProperty(System.String)">
            <summary>
            Lookup a composite property in this event
            </summary>
            <param name="key">the key for the property to lookup</param>
            <returns>the value for the property</returns>
            <remarks>
            <para>
            This event has composite properties that combine together properties from
            several different contexts in the following order:
            <list type="definition">
            	<item>
            		<term>this events properties</term>
            		<description>
            		This event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These 
            		properties are specific to this event only.
            		</description>
            	</item>
            	<item>
            		<term>the thread properties</term>
            		<description>
            		The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
            		thread. These properties are shared by all events logged on this thread.
            		</description>
            	</item>
            	<item>
            		<term>the global properties</term>
            		<description>
            		The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
            		properties are shared by all the threads in the AppDomain.
            		</description>
            	</item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LoggingEvent.GetProperties">
            <summary>
            Get all the composite properties in this event
            </summary>
            <returns>the <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the properties</returns>
            <remarks>
            <para>
            See <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/> for details of the composite properties 
            stored by the event.
            </para>
            <para>
            This method returns a single <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the
            properties defined for this event.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_data">
            <summary>
            The internal logging event data.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_compositeProperties">
            <summary>
            The internal logging event data.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_eventProperties">
            <summary>
            The internal logging event data.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_callerStackBoundaryDeclaringType">
            <summary>
            The fully qualified Type of the calling 
            logger class in the stack frame (i.e. the declaring type of the method).
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_message">
            <summary>
            The application supplied message of logging event.
            </summary>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_thrownException">
            <summary>
            The exception that was thrown.
            </summary>
            <remarks>
            This is not serialized. The string representation
            is serialized instead.
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_repository">
            <summary>
            The repository that generated the logging event
            </summary>
            <remarks>
            This is not serialized.
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_fixFlags">
            <summary>
            The fix state for this event
            </summary>
            <remarks>
            These flags indicate which fields have been fixed.
            Not serialized.
            </remarks>
        </member>
        <member name="F:log4net.Core.LoggingEvent.m_cacheUpdatable">
            <summary>
            Indicated that the internal cache is updateable (ie not fixed)
            </summary>
            <remarks>
            This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler
            changes in the caching strategy.
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.StartTime">
            <summary>
            Gets the time when the current process started.
            </summary>
            <value>
            This is the time when this process started.
            </value>
            <remarks>
            <para>
            The TimeStamp is stored in the local time zone for this computer.
            </para>
            <para>
            Tries to get the start time for the current process.
            Failing that it returns the time of the first call to
            this property.
            </para>
            <para>
            Note that AppDomains may be loaded and unloaded within the
            same process without the process terminating and therefore
            without the process start time being reset.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Level">
            <summary>
            Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
            </summary>
            <value>
            The <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
            </value>
            <remarks>
            <para>
            Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.TimeStamp">
            <summary>
            Gets the time of the logging event.
            </summary>
            <value>
            The time of the logging event.
            </value>
            <remarks>
            <para>
            The TimeStamp is stored in the local time zone for this computer.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.LoggerName">
            <summary>
            Gets the name of the logger that logged the event.
            </summary>
            <value>
            The name of the logger that logged the event.
            </value>
            <remarks>
            <para>
            Gets the name of the logger that logged the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.LocationInformation">
            <summary>
            Gets the location information for this logging event.
            </summary>
            <value>
            The location information for this logging event.
            </value>
            <remarks>
            <para>
            The collected information is cached for future use.
            </para>
            <para>
            See the <see cref="T:log4net.Core.LocationInfo"/> class for more information on
            supported frameworks and the different behavior in Debug and
            Release builds.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.MessageObject">
            <summary>
            Gets the message object used to initialize this event.
            </summary>
            <value>
            The message object used to initialize this event.
            </value>
            <remarks>
            <para>
            Gets the message object used to initialize this event.
            Note that this event may not have a valid message object.
            If the event is serialized the message object will not 
            be transferred. To get the text of the message the
            <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property must be used 
            not this property.
            </para>
            <para>
            If there is no defined message object for this event then
            null will be returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.ExceptionObject">
            <summary>
            Gets the exception object used to initialize this event.
            </summary>
            <value>
            The exception object used to initialize this event.
            </value>
            <remarks>
            <para>
            Gets the exception object used to initialize this event.
            Note that this event may not have a valid exception object.
            If the event is serialized the exception object will not 
            be transferred. To get the text of the exception the
            <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> method must be used 
            not this property.
            </para>
            <para>
            If there is no defined exception object for this event then
            null will be returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Repository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.RenderedMessage">
            <summary>
            Gets the message, rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </summary>
            <value>
            The message rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </value>
            <remarks>
            <para>
            The collected information is cached for future use.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.ThreadName">
            <summary>
            Gets the name of the current thread.  
            </summary>
            <value>
            The name of the current thread, or the thread ID when 
            the name is not available.
            </value>
            <remarks>
            <para>
            The collected information is cached for future use.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.UserName">
            <summary>
            Gets the name of the current user.
            </summary>
            <value>
            The name of the current user, or <c>NOT AVAILABLE</c> when the 
            underlying runtime has no support for retrieving the name of the 
            current user.
            </value>
            <remarks>
            <para>
            Calls <c>WindowsIdentity.GetCurrent().Name</c> to get the name of
            the current windows user.
            </para>
            <para>
            To improve performance, we could cache the string representation of 
            the name, and reuse that as long as the identity stayed constant.  
            Once the identity changed, we would need to re-assign and re-render 
            the string.
            </para>
            <para>
            However, the <c>WindowsIdentity.GetCurrent()</c> call seems to 
            return different objects every time, so the current implementation 
            doesn't do this type of caching.
            </para>
            <para>
            Timing for these operations:
            </para>
            <list type="table">
              <listheader>
                <term>Method</term>
                <description>Results</description>
              </listheader>
              <item>
                <term><c>WindowsIdentity.GetCurrent()</c></term>
                <description>10000 loops, 00:00:00.2031250 seconds</description>
              </item>
              <item>
                <term><c>WindowsIdentity.GetCurrent().Name</c></term>
                <description>10000 loops, 00:00:08.0468750 seconds</description>
              </item>
            </list>
            <para>
            This means we could speed things up almost 40 times by caching the 
            value of the <c>WindowsIdentity.GetCurrent().Name</c> property, since 
            this takes (8.04-0.20) = 7.84375 seconds.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Identity">
            <summary>
            Gets the identity of the current thread principal.
            </summary>
            <value>
            The string name of the identity of the current thread principal.
            </value>
            <remarks>
            <para>
            Calls <c>System.Threading.Thread.CurrentPrincipal.Identity.Name</c> to get
            the name of the current thread principal.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Domain">
            <summary>
            Gets the AppDomain friendly name.
            </summary>
            <value>
            The AppDomain friendly name.
            </value>
            <remarks>
            <para>
            Gets the AppDomain friendly name.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Properties">
            <summary>
            Additional event specific properties.
            </summary>
            <value>
            Additional event specific properties.
            </value>
            <remarks>
            <para>
            A logger or an appender may attach additional
            properties to specific events. These properties
            have a string key and an object value.
            </para>
            <para>
            This property is for events that have been added directly to
            this event. The aggregate properties (which include these
            event properties) can be retrieved using <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/>
            and <see cref="M:log4net.Core.LoggingEvent.GetProperties"/>.
            </para>
            <para>
            Once the properties have been fixed <see cref="P:log4net.Core.LoggingEvent.Fix"/> this property
            returns the combined cached properties. This ensures that updates to
            this property are always reflected in the underlying storage. When
            returning the combined properties there may be more keys in the
            Dictionary than expected.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LoggingEvent.Fix">
            <summary>
            The fixed fields in this event
            </summary>
            <value>
            The set of fields that are fixed in this event
            </value>
            <remarks>
            <para>
            Fields will not be fixed if they have previously been fixed.
            It is not possible to 'unfix' a field.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.LogImpl">
            <summary>
            Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
            </summary>
            <remarks>
            <para>
            This implementation of the <see cref="T:log4net.ILog"/> interface
            forwards to the <see cref="T:log4net.Core.ILogger"/> held by the base class.
            </para>
            <para>
            This logger has methods to allow the caller to log at the following
            levels:
            </para>
            <list type="definition">
              <item>
                <term>DEBUG</term>
                <description>
                The <see cref="M:Debug(object)"/> and <see cref="M:DebugFormat(string, object[])"/> methods log messages
                at the <c>DEBUG</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Debug"/>. The <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>INFO</term>
                <description>
                The <see cref="M:Info(object)"/> and <see cref="M:InfoFormat(string, object[])"/> methods log messages
                at the <c>INFO</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Info"/>. The <see cref="P:log4net.Core.LogImpl.IsInfoEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>WARN</term>
                <description>
                The <see cref="M:Warn(object)"/> and <see cref="M:WarnFormat(string, object[])"/> methods log messages
                at the <c>WARN</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Warn"/>. The <see cref="P:log4net.Core.LogImpl.IsWarnEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>ERROR</term>
                <description>
                The <see cref="M:Error(object)"/> and <see cref="M:ErrorFormat(string, object[])"/> methods log messages
                at the <c>ERROR</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Error"/>. The <see cref="P:log4net.Core.LogImpl.IsErrorEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
              <item>
                <term>FATAL</term>
                <description>
                The <see cref="M:Fatal(object)"/> and <see cref="M:FatalFormat(string, object[])"/> methods log messages
                at the <c>FATAL</c> level. That is the level with that name defined in the
                repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
                for this level is <see cref="F:log4net.Core.Level.Fatal"/>. The <see cref="P:log4net.Core.LogImpl.IsFatalEnabled"/>
                property tests if this level is enabled for logging.
                </description>
              </item>
            </list>
            <para>
            The values for these levels and their semantic meanings can be changed by 
            configuring the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> for the repository.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.ILog">
            <summary>
            The ILog interface is use by application to log messages into
            the log4net framework.
            </summary>
            <remarks>
            <para>
            Use the <see cref="T:log4net.LogManager"/> to obtain logger instances
            that implement this interface. The <see cref="M:LogManager.GetLogger(Assembly,Type)"/>
            static method is used to get logger instances.
            </para>
            <para>
            This class contains methods for logging at different levels and also
            has properties for determining if those logging levels are
            enabled in the current configuration.
            </para>
            <para>
            This interface can be implemented in different ways. This documentation
            specifies reasonable behavior that a caller can expect from the actual
            implementation, however different implementations reserve the right to
            do things differently.
            </para>
            </remarks>
            <example>Simple example of logging messages
            <code lang="C#">
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code>
            </example>
            <seealso cref="T:log4net.LogManager"/>
            <seealso cref="M:LogManager.GetLogger(Assembly, Type)"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Debug"/> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Debug(object,Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:Debug(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object[])">
            <overloads>Log a formatted string with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
            <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Info"/> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Info(object,Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:Info(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:Info(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Info(object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Info(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Info(object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Info(object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Info(object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Info(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Warn"/> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Warn(object,Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:Warn(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:Warn(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Warn(object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Warn(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Warn(object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Warn(object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Warn(object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Warn(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
            <summary>
            Logs a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Error"/> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Error(object,Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:Error(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Error(object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Error(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.Core.Level.Fatal"/> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Fatal(object,Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:Fatal(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:Fatal(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object[])">
            <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object,Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para> For some ILog interface <c>log</c>, when you write:</para>
            <code lang="C#">
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, string construction and concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed (who isn't), then you should write:
            </para>
            <code lang="C#">
            if (log.IsDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <see cref="P:log4net.ILog.IsDebugEnabled"/> and once in
            the <see cref="M:Debug(object)"/>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log. This is the preferred style of logging.
            </para>
            <para>Alternatively if your logger is available statically then the is debug
            enabled state can be stored in a static variable like this:
            </para>
            <code lang="C#">
            private static readonly bool isDebugEnabled = log.IsDebugEnabled;
            </code>
            <para>
            Then when you come to log you can write:
            </para>
            <code lang="C#">
            if (isDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way the debug enabled state is only queried once
            when the class is loaded. Using a <c>private static readonly</c>
            variable is the most efficient because it is a run time constant
            and can be heavily optimized by the JIT compiler.
            </para>
            <para>
            Of course if you use a static readonly variable to
            hold the enabled state of the logger then you cannot
            change the enabled state at runtime to vary the logging
            that is produced. You have to decide if you need absolute
            speed or runtime flexibility.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
            <seealso cref="M:DebugFormat(IFormatProvider, string, object[])"/>
        </member>
        <member name="P:log4net.ILog.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:Info(object)"/>
            <seealso cref="M:InfoFormat(IFormatProvider, string, object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:Warn(object)"/>
            <seealso cref="M:WarnFormat(IFormatProvider, string, object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:Error(object)"/>
            <seealso cref="M:ErrorFormat(IFormatProvider, string, object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:Fatal(object)"/>
            <seealso cref="M:FatalFormat(IFormatProvider, string, object[])"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Core.LogImpl.#ctor(log4net.Core.ILogger)">
            <summary>
            Construct a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <remarks>
            <para>
            Construct a new wrapper for the specified logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ReloadLevels(log4net.Repository.ILoggerRepository)">
            <summary>
            Virtual method called when the configuration of the repository changes
            </summary>
            <param name="repository">the repository holding the levels</param>
            <remarks>
            <para>
            Virtual method called when the configuration of the repository changes
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Debug(System.Object)">
            <summary>
            Logs a message object with the <c>DEBUG</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <c>DEBUG</c> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Debug(object,Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>DEBUG</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>DEBUG</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> passed
            as a parameter.
            </para>
            <para>
            See the <see cref="M:Debug(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Debug(object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>DEBUG</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Info(System.Object)">
            <summary>
            Logs a message object with the <c>INFO</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <c>INFO</c> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:Info(object,Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:Info(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Info(object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>INFO</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Warn(System.Object)">
            <summary>
            Logs a message object with the <c>WARN</c> level.
            </summary>
            <param name="message">the message object to log</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <c>WARN</c> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:Warn(object,Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>WARN</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>WARN</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:Warn(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Warn(object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>WARN</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Error(System.Object)">
            <summary>
            Logs a message object with the <c>ERROR</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <c>ERROR</c> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:Error(object,Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>ERROR</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>ERROR</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:Error(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Error(object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>ERROR</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Fatal(System.Object)">
            <summary>
            Logs a message object with the <c>FATAL</c> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <c>FATAL</c> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:Fatal(object,Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>FATAL</c> level
            </summary>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Logs a message object with the <c>FATAL</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
            passed as a parameter.
            </para>
            <para>
            See the <see cref="M:Fatal(object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:Fatal(object)"/>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
            format provider. To specify a localized provider use the
            <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <c>FATAL</c> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
            <c>String.Format</c> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
            methods instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.LogImpl.LoggerRepositoryConfigurationChanged(System.Object,System.EventArgs)">
            <summary>
            Event handler for the <see cref="E:log4net.Repository.ILoggerRepository.ConfigurationChanged"/> event
            </summary>
            <param name="sender">the repository</param>
            <param name="e">Empty</param>
        </member>
        <member name="F:log4net.Core.LogImpl.ThisDeclaringType">
            <summary>
            The fully qualified name of this declaring type not the type of any subclass.
            </summary>
        </member>
        <member name="P:log4net.Core.LogImpl.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <c>DEBUG</c>
            level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para>
            For some <c>log</c> Logger object, when you write:
            </para>
            <code lang="C#">
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed, then you should write:
            </para>
            <code lang="C#">
            if (log.IsDebugEnabled())
            { 
             log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <c>IsDebugEnabled</c> and once in
            the <c>Debug</c>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.LogImpl.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <c>INFO</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>INFO</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <c>WARN</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>WARN</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <c>ERROR</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>ERROR</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.Core.LogImpl.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <c>FATAL</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>FATAL</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </para>
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="T:log4net.Core.MethodItem">
            <summary>
            provides method information without actually referencing a System.Reflection.MethodBase
            as that would require that the containing assembly is loaded.
            </summary>
            
        </member>
        <member name="F:log4net.Core.MethodItem.NA">
            <summary>
            When location information is not available the constant
            <c>NA</c> is returned. Current value of this string
            constant is <b>?</b>.
            </summary>
        </member>
        <member name="M:log4net.Core.MethodItem.#ctor">
            <summary>
            constructs a method item for an unknown method.
            </summary>
        </member>
        <member name="M:log4net.Core.MethodItem.#ctor(System.String)">
            <summary>
            constructs a method item from the name of the method.
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:log4net.Core.MethodItem.#ctor(System.String,System.String[])">
            <summary>
            constructs a method item from the name of the method and its parameters.
            </summary>
            <param name="name"></param>
            <param name="parameters"></param>
        </member>
        <member name="M:log4net.Core.MethodItem.#ctor(System.Reflection.MethodBase)">
            <summary>
            constructs a method item from a method base by determining the method name and its parameters.
            </summary>
            <param name="methodBase"></param>
        </member>
        <member name="F:log4net.Core.MethodItem.declaringType">
            <summary>
            The fully qualified type of the StackFrameItem class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Core.MethodItem.Name">
            <summary>
            Gets the method name of the caller making the logging 
            request.
            </summary>
            <value>
            The method name of the caller making the logging 
            request.
            </value>
            <remarks>
            <para>
            Gets the method name of the caller making the logging 
            request.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.MethodItem.Parameters">
            <summary>
            Gets the method parameters of the caller making
            the logging request.
            </summary>
            <value>
            The method parameters of the caller making
            the logging request
            </value>
            <remarks>
            <para>
            Gets the method parameters of the caller making
            the logging request.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.SecurityContext">
            <summary>
            A SecurityContext used by log4net when interacting with protected resources
            </summary>
            <remarks>
            <para>
            A SecurityContext used by log4net when interacting with protected resources
            for example with operating system services. This can be used to impersonate
            a principal that has been granted privileges on the system resources.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
            <summary>
            Impersonate this SecurityContext
            </summary>
            <param name="state">State supplied by the caller</param>
            <returns>An <see cref="T:System.IDisposable"/> instance that will
            revoke the impersonation of this SecurityContext, or <c>null</c></returns>
            <remarks>
            <para>
            Impersonate this security context. Further calls on the current
            thread should now be made in the security context provided
            by this object. When the <see cref="T:System.IDisposable"/> result 
            <see cref="M:System.IDisposable.Dispose"/> method is called the security
            context of the thread should be reverted to the state it was in
            before <see cref="M:log4net.Core.SecurityContext.Impersonate(System.Object)"/> was called.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.SecurityContextProvider">
            <summary>
            The <see cref="T:log4net.Core.SecurityContextProvider"/> providers default <see cref="T:log4net.Core.SecurityContext"/> instances.
            </summary>
            <remarks>
            <para>
            A configured component that interacts with potentially protected system
            resources uses a <see cref="T:log4net.Core.SecurityContext"/> to provide the elevated
            privileges required. If the <see cref="T:log4net.Core.SecurityContext"/> object has
            been not been explicitly provided to the component then the component
            will request one from this <see cref="T:log4net.Core.SecurityContextProvider"/>.
            </para>
            <para>
            By default the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is
            an instance of <see cref="T:log4net.Core.SecurityContextProvider"/> which returns only
            <see cref="T:log4net.Util.NullSecurityContext"/> objects. This is a reasonable default
            where the privileges required are not know by the system.
            </para>
            <para>
            This default behavior can be overridden by subclassing the <see cref="T:log4net.Core.SecurityContextProvider"/>
            and overriding the <see cref="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)"/> method to return
            the desired <see cref="T:log4net.Core.SecurityContext"/> objects. The default provider
            can be replaced by programmatically setting the value of the 
            <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> property.
            </para>
            <para>
            An alternative is to use the <c>log4net.Config.SecurityContextProviderAttribute</c>
            This attribute can be applied to an assembly in the same way as the
            <c>log4net.Config.XmlConfiguratorAttribute"</c>. The attribute takes
            the type to use as the <see cref="T:log4net.Core.SecurityContextProvider"/> as an argument.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Core.SecurityContextProvider.s_defaultProvider">
            <summary>
            The default provider
            </summary>
        </member>
        <member name="M:log4net.Core.SecurityContextProvider.#ctor">
            <summary>
            Protected default constructor to allow subclassing
            </summary>
            <remarks>
            <para>
            Protected default constructor to allow subclassing
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)">
            <summary>
            Create a SecurityContext for a consumer
            </summary>
            <param name="consumer">The consumer requesting the SecurityContext</param>
            <returns>An impersonation context</returns>
            <remarks>
            <para>
            The default implementation is to return a <see cref="T:log4net.Util.NullSecurityContext"/>.
            </para>
            <para>
            Subclasses should override this method to provide their own
            behavior.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.SecurityContextProvider.DefaultProvider">
            <summary>
            Gets or sets the default SecurityContextProvider
            </summary>
            <value>
            The default SecurityContextProvider
            </value>
            <remarks>
            <para>
            The default provider is used by configured components that
            require a <see cref="T:log4net.Core.SecurityContext"/> and have not had one
            given to them.
            </para>
            <para>
            By default this is an instance of <see cref="T:log4net.Core.SecurityContextProvider"/>
            that returns <see cref="T:log4net.Util.NullSecurityContext"/> objects.
            </para>
            <para>
            The default provider can be set programmatically by setting
            the value of this property to a sub class of <see cref="T:log4net.Core.SecurityContextProvider"/>
            that has the desired behavior.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.StackFrameItem">
            <summary>
            provides stack frame information without actually referencing a System.Diagnostics.StackFrame
            as that would require that the containing assembly is loaded.
            </summary>
            
        </member>
        <member name="F:log4net.Core.StackFrameItem.NA">
            <summary>
            When location information is not available the constant
            <c>NA</c> is returned. Current value of this string
            constant is <b>?</b>.
            </summary>
        </member>
        <member name="M:log4net.Core.StackFrameItem.#ctor(System.Diagnostics.StackFrame)">
            <summary>
            returns a stack frame item from a stack frame. This 
            </summary>
            <param name="frame"></param>
            <returns></returns>
        </member>
        <member name="F:log4net.Core.StackFrameItem.declaringType">
            <summary>
            The fully qualified type of the StackFrameItem class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Core.StackFrameItem.ClassName">
            <summary>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </summary>
            <value>
            The fully qualified class name of the caller making the logging 
            request.
            </value>
            <remarks>
            <para>
            Gets the fully qualified class name of the caller making the logging 
            request.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.StackFrameItem.FileName">
            <summary>
            Gets the file name of the caller.
            </summary>
            <value>
            The file name of the caller.
            </value>
            <remarks>
            <para>
            Gets the file name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.StackFrameItem.LineNumber">
            <summary>
            Gets the line number of the caller.
            </summary>
            <value>
            The line number of the caller.
            </value>
            <remarks>
            <para>
            Gets the line number of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.StackFrameItem.Method">
            <summary>
            Gets the method name of the caller.
            </summary>
            <value>
            The method name of the caller.
            </value>
            <remarks>
            <para>
            Gets the method name of the caller.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.StackFrameItem.FullInfo">
            <summary>
            Gets all available caller information
            </summary>
            <value>
            All available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </value>
            <remarks>
            <para>
            Gets all available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.TimeEvaluator">
            <summary>
            An evaluator that triggers after specified number of seconds.
            </summary>
            <remarks>
            <para>
            This evaluator will trigger if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
            </para>
            </remarks>
            <author>Robert Sevcik</author>
        </member>
        <member name="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL">
            <summary>
            The default time threshold for triggering in seconds. Zero means it won't trigger at all.
            </summary>
        </member>
        <member name="F:log4net.Core.TimeEvaluator.m_interval">
            <summary>
            The time threshold for triggering in seconds. Zero means it won't trigger at all.
            </summary>
        </member>
        <member name="F:log4net.Core.TimeEvaluator.m_lasttime">
            <summary>
            The time of last check. This gets updated when the object is created and when the evaluator triggers.
            </summary>
        </member>
        <member name="M:log4net.Core.TimeEvaluator.#ctor">
            <summary>
            Create a new evaluator using the <see cref="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL"/> time threshold in seconds.
            </summary>
            <remarks>
            <para>
            Create a new evaluator using the <see cref="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL"/> time threshold in seconds.
            </para>
            <para>
            This evaluator will trigger if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.TimeEvaluator.#ctor(System.Int32)">
            <summary>
            Create a new evaluator using the specified time threshold in seconds.
            </summary>
            <param name="interval">
            The time threshold in seconds to trigger after.
            Zero means it won't trigger at all.
            </param>
            <remarks>
            <para>
            Create a new evaluator using the specified time threshold in seconds.
            </para>
            <para>
            This evaluator will trigger if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.TimeEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>
            This evaluator will trigger if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Core.TimeEvaluator.Interval">
            <summary>
            The time threshold in seconds to trigger after
            </summary>
            <value>
            The time threshold in seconds to trigger after.
            Zero means it won't trigger at all.
            </value>
            <remarks>
            <para>
            This evaluator will trigger if the specified time period 
            <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.WrapperCreationHandler">
            <summary>
            Delegate used to handle creation of new wrappers.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
            <remarks>
            <para>
            Delegate used to handle creation of new wrappers. This delegate
            is called from the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
            method to construct the wrapper for the specified logger.
            </para>
            <para>
            The delegate to use is supplied to the <see cref="T:log4net.Core.WrapperMap"/>
            constructor.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Core.WrapperMap">
            <summary>
            Maps between logger objects and wrapper objects.
            </summary>
            <remarks>
            <para>
            This class maintains a mapping between <see cref="T:log4net.Core.ILogger"/> objects and
            <see cref="T:log4net.Core.ILoggerWrapper"/> objects. Use the <see cref="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)"/> method to 
            lookup the <see cref="T:log4net.Core.ILoggerWrapper"/> for the specified <see cref="T:log4net.Core.ILogger"/>.
            </para>
            <para>
            New wrapper instances are created by the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
            method. The default behavior is for this method to delegate construction
            of the wrapper to the <see cref="T:log4net.Core.WrapperCreationHandler"/> delegate supplied
            to the constructor. This allows specialization of the behavior without
            requiring subclassing of this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Core.WrapperMap.#ctor(log4net.Core.WrapperCreationHandler)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/>
            </summary>
            <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/> class with 
            the specified handler to create the wrapper objects.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)">
            <summary>
            Gets the wrapper object for the specified logger.
            </summary>
            <returns>The wrapper object for the specified logger</returns>
            <remarks>
            <para>
            If the logger is null then the corresponding wrapper is null.
            </para>
            <para>
            Looks up the wrapper it it has previously been requested and
            returns it. If the wrapper has never been requested before then
            the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/> virtual method is
            called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)">
            <summary>
            Creates the wrapper object for the specified logger.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
            <returns>The wrapper object for the logger.</returns>
            <remarks>
            <para>
            This implementation uses the <see cref="T:log4net.Core.WrapperCreationHandler"/>
            passed to the constructor to create the wrapper. This method
            can be overridden in a subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.RepositoryShutdown(log4net.Repository.ILoggerRepository)">
            <summary>
            Called when a monitored repository shutdown event is received.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down</param>
            <remarks>
            <para>
            This method is called when a <see cref="T:log4net.Repository.ILoggerRepository"/> that this
            <see cref="T:log4net.Core.WrapperMap"/> is holding loggers for has signaled its shutdown
            event <see cref="E:log4net.Repository.ILoggerRepository.ShutdownEvent"/>. The default
            behavior of this method is to release the references to the loggers
            and their wrappers generated for this repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Core.WrapperMap.ILoggerRepository_Shutdown(System.Object,System.EventArgs)">
            <summary>
            Event handler for repository shutdown event.
            </summary>
            <param name="sender">The sender of the event.</param>
            <param name="e">The event args.</param>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_repositories">
            <summary>
            Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings
            </summary>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_createWrapperHandler">
            <summary>
            The handler to use to create the extension wrapper objects.
            </summary>
        </member>
        <member name="F:log4net.Core.WrapperMap.m_shutdownHandler">
            <summary>
            Internal reference to the delegate used to register for repository shutdown events.
            </summary>
        </member>
        <member name="P:log4net.Core.WrapperMap.Repositories">
            <summary>
            Gets the map of logger repositories.
            </summary>
            <value>
            Map of logger repositories.
            </value>
            <remarks>
            <para>
            Gets the hashtable that is keyed on <see cref="T:log4net.Repository.ILoggerRepository"/>. The
            values are hashtables keyed on <see cref="T:log4net.Core.ILogger"/> with the
            value being the corresponding <see cref="T:log4net.Core.ILoggerWrapper"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
            <summary>
            Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
            </summary>
            <remarks>
            <para>
            Formats a <see cref="T:System.DateTime"/> in the format <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.DateFormatter.IDateFormatter">
            <summary>
            Render a <see cref="T:System.DateTime"/> as a string.
            </summary>
            <remarks>
            <para>
            Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
            instance into a string.
            </para>
            <para>
            The <see cref="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/> method is used to render the
            date to a text writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Formats the specified date as a string.
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Format the <see cref="T:System.DateTime"/> as a string and write it
            to the <see cref="T:System.IO.TextWriter"/> provided.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
            <summary>
            String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
            <summary>
            String constant used to specify DateTimeDateFormat in layouts.  Current value is <b>DATE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
            <summary>
            String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
            </summary>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="buffer">The string builder to write to.</param>
            <remarks>
            <para>
            Subclasses should override this method to render the date
            into a string using a precision up to the second. This method
            will be called at most once per second and the result will be
            reused if it is needed again during the same second.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Renders the date into a string. Format is "HH:mm:ss,fff".
            </summary>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> method to generate the
            time string up to the seconds and then appends the current
            milliseconds. The results from <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> are
            cached and <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> is called at most once
            per second.
            </para>
            <para>
            Sub classes should override <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/>
            rather than <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
            <summary>
            Last stored time with precision up to the second.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
            <summary>
            Last stored time with precision up to the second, formatted
            as a string.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeStrings">
            <summary>
            Last stored time with precision up to the second, formatted
            as a string.
            </summary>
        </member>
        <member name="T:log4net.DateFormatter.DateTimeDateFormatter">
            <summary>
            Formats a <see cref="T:System.DateTime"/> as <c>"dd MMM yyyy HH:mm:ss,fff"</c>
            </summary>
            <remarks>
            <para>
            Formats a <see cref="T:System.DateTime"/> in the format 
            <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, 
            <c>"06 Nov 1994 15:49:37,459"</c>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Angelika Schnagl</author>
        </member>
        <member name="M:log4net.DateFormatter.DateTimeDateFormatter.#ctor">
            <summary>
            Default constructor.
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.DateTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the date without the milliseconds part
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="buffer">The string builder to write to.</param>
            <remarks>
            <para>
            Formats a DateTime in the format <c>"dd MMM yyyy HH:mm:ss"</c>
            for example, <c>"06 Nov 1994 15:49:37"</c>.
            </para>
            <para>
            The base class will append the <c>",fff"</c> milliseconds section.
            This method will only be called at most once per second.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.DateTimeDateFormatter.m_dateTimeFormatInfo">
            <summary>
            The format info for the invariant culture.
            </summary>
        </member>
        <member name="T:log4net.DateFormatter.Iso8601DateFormatter">
            <summary>
            Formats the <see cref="T:System.DateTime"/> as <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
            </summary>
            <remarks>
            <para>
            Formats the <see cref="T:System.DateTime"/> specified as a string: <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.DateFormatter.Iso8601DateFormatter.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.Iso8601DateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the date without the milliseconds part
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="buffer">The string builder to write to.</param>
            <remarks>
            <para>
            Formats the date specified as a string: <c>"yyyy-MM-dd HH:mm:ss"</c>.
            </para>
            <para>
            The base class will append the <c>",fff"</c> milliseconds section.
            This method will only be called at most once per second.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.DateFormatter.SimpleDateFormatter">
            <summary>
            Formats the <see cref="T:System.DateTime"/> using the <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method.
            </summary>
            <remarks>
            <para>
            Formats the <see cref="T:System.DateTime"/> using the <see cref="T:System.DateTime"/> <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="format">The format string.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> class 
            with the specified format string.
            </para>
            <para>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
            <summary>
            Formats the date using <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
            </summary>
            <param name="dateToFormat">The date to convert to a string.</param>
            <param name="writer">The writer to write to.</param>
            <remarks>
            <para>
            Uses the date format string supplied to the constructor to call
            the <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method to format the date.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
            <summary>
            The format string used to format the <see cref="T:System.DateTime"/>.
            </summary>
            <remarks>
            <para>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.DenyAllFilter">
            <summary>
            This filter drops all <see cref="T:log4net.Core.LoggingEvent"/>. 
            </summary>
            <remarks>
            <para>
            You can add this filter to the end of a filter chain to
            switch from the default "accept all unless instructed otherwise"
            filtering behavior to a "deny all unless instructed otherwise"
            behavior.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Filter.FilterSkeleton">
            <summary>
            Subclass this type to implement customized logging event filtering
            </summary>
            <remarks>
            <para>
            Users should extend this class to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.
            </para>
            <para>
            This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.
            </para>
            <para>
            The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
            <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behavior is to log all logging events.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
            event is logged without consulting the remaining filters.
            </para>
            <para>
            The philosophy of log4net filters is largely inspired from the
            Linux ipchains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Filter.IFilter">
            <summary>
            Implement this interface to provide customized logging event filtering
            </summary>
            <remarks>
            <para>
            Users should implement this interface to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.
            </para>
            <para>
            This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.
            </para>
            <para>
            The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
            <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behavior is to log all logging events.
            </para>
            <para>
            If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
            event is logged without consulting the remaining filters.
            </para>
            <para>
            The philosophy of log4net filters is largely inspired from the
            Linux ipchains.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Decide if the logging event should be logged through an appender.
            </summary>
            <param name="loggingEvent">The LoggingEvent to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>
            If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
            the event will be logged without consulting with other filters in
            the chain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.IFilter.Next">
            <summary>
            Property to get and set the next filter
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            <para>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterSkeleton.m_next">
            <summary>
            Points to the next filter in the filter chain.
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
            <summary>
            Initialize the filter with the options set
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> must be called again.
            </para>
            <para>
            Typically filter's options become active immediately on set, 
            however this method must still be called. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Decide if the <see cref="T:log4net.Core.LoggingEvent"/> should be logged through an appender.
            </summary>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>
            If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
            the event will be logged without consulting with other filters in
            the chain.
            </para>
            <para>
            This method is marked <c>abstract</c> and must be implemented
            in a subclass.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.FilterSkeleton.Next">
            <summary>
            Property to get and set the next filter
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            <para>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.DenyAllFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.Deny"/>
            </summary>
            <param name="loggingEvent">the LoggingEvent to filter</param>
            <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.Deny"/></returns>
            <remarks>
            <para>
            Ignores the event being logged and just returns
            <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This can be used to change the default filter
            chain behavior from <see cref="F:log4net.Filter.FilterDecision.Accept"/> to <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This filter
            should only be used as the last filter in the chain
            as any further filters will be ignored!
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.FilterDecision">
            <summary>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            </summary>
            <remarks>
            <para>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Deny">
            <summary>
            The log event must be dropped immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Neutral">
            <summary>
            This filter is neutral with respect to the log event. 
            The remaining filters, if any, should be consulted for a final decision.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.Accept">
            <summary>
            The log event must be logged immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="T:log4net.Filter.LevelMatchFilter">
            <summary>
            This is a very simple filter based on <see cref="T:log4net.Core.Level"/> matching.
            </summary>
            <remarks>
            <para>
            The filter admits two options <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> and
            <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If there is an exact match between the value
            of the <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> option and the <see cref="T:log4net.Core.Level"/> of the 
            <see cref="T:log4net.Core.LoggingEvent"/>, then the <see cref="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
            case the <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> option value is set
            to <c>true</c>, if it is <c>false</c> then 
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If the <see cref="T:log4net.Core.Level"/> does not match then
            the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
            <summary>
            flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.Accept"/> on a match
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
            <summary>
            the <see cref="T:log4net.Core.Level"/> to match against
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Tests if the <see cref="T:log4net.Core.Level"/> of the logging event matches that of the filter
            </summary>
            <param name="loggingEvent">the event to filter</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            If the <see cref="T:log4net.Core.Level"/> of the event matches the level of the
            filter then the result of the function depends on the
            value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If it is true then
            the function will return <see cref="F:log4net.Filter.FilterDecision.Accept"/>, it it is false then it
            will return <see cref="F:log4net.Filter.FilterDecision.Deny"/>. If the <see cref="T:log4net.Core.Level"/> does not match then
            the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
            <summary>
            The <see cref="T:log4net.Core.Level"/> that the filter will match
            </summary>
            <remarks>
            <para>
            The level that this filter will attempt to match against the 
            <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.LevelRangeFilter">
            <summary>
            This is a simple filter based on <see cref="T:log4net.Core.Level"/> matching.
            </summary>
            <remarks>
            <para>
            The filter admits three options <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
            that determine the range of priorities that are matched, and
            <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>. If there is a match between the range
            of priorities and the <see cref="T:log4net.Core.Level"/> of the <see cref="T:log4net.Core.LoggingEvent"/>, then the 
            <see cref="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in case the <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> 
            option value is set to <c>true</c>, if it is <c>false</c>
            then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If there is no match, <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behavior when matching a <see cref="T:log4net.Core.Level"/>
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_levelMin">
            <summary>
            the minimum <see cref="T:log4net.Core.Level"/> value to match
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_levelMax">
            <summary>
            the maximum <see cref="T:log4net.Core.Level"/> value to match
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelRangeFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if the event should be logged.
            </summary>
            <param name="loggingEvent">the logging event to check</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            If the <see cref="T:log4net.Core.Level"/> of the logging event is outside the range
            matched by this filter then <see cref="F:log4net.Filter.FilterDecision.Deny"/>
            is returned. If the <see cref="T:log4net.Core.Level"/> is matched then the value of
            <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> is checked. If it is true then
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, otherwise
            <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.LevelMin">
            <summary>
            Set the minimum matched <see cref="T:log4net.Core.Level"/>
            </summary>
            <remarks>
            <para>
            The minimum level that this filter will attempt to match against the 
            <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.LevelMax">
            <summary>
            Sets the maximum matched <see cref="T:log4net.Core.Level"/>
            </summary>
            <remarks>
            <para>
            The maximum level that this filter will attempt to match against the 
            <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.LoggerMatchFilter">
            <summary>
            Simple filter to match a string in the event's logger name.
            </summary>
            <remarks>
            <para>
            The works very similar to the <see cref="T:log4net.Filter.LevelMatchFilter"/>. It admits two 
            options <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> and <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>. If the 
            <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <see cref="T:log4net.Core.LoggingEvent"/> starts 
            with the value of the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> option, then the 
            <see cref="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
            case the <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> option value is set to <c>true</c>, 
            if it is <c>false</c> then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="F:log4net.Filter.LoggerMatchFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behavior when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.LoggerMatchFilter.m_loggerToMatch">
            <summary>
            The logger name string to substring match against the event
            </summary>
        </member>
        <member name="M:log4net.Filter.LoggerMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The rendered message is matched against the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>.
            If the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> equals the beginning of 
            the incoming <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> (<see cref="M:String.StartsWith(string)"/>)
            then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch">
            <summary>
            The <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> that the filter will match
            </summary>
            <remarks>
            <para>
            This filter will attempt to match this value against logger name in
            the following way. The match will be done against the beginning of the
            logger name (using <see cref="M:String.StartsWith(string)"/>). The match is
            case sensitive. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.MdcFilter">
            <summary>
            Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
            </summary>
            <remarks>
            <para>
            Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
            </para>
            <para>
            As the MDC has been replaced with layered properties the
            <see cref="T:log4net.Filter.PropertyFilter"/> should be used instead.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Filter.PropertyFilter">
            <summary>
            Simple filter to match a string an event property
            </summary>
            <remarks>
            <para>
            Simple filter to match a string in the value for a
            specific event property
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Filter.StringMatchFilter">
            <summary>
            Simple filter to match a string in the rendered message
            </summary>
            <remarks>
            <para>
            Simple filter to match a string in the rendered message
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behavior when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
            <summary>
            The string to substring match against the message
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
            <summary>
            A string regex to match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
            <summary>
            A regex object to match (generated from m_stringRegexToMatch)
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
            <summary>
            Initialize and precompile the Regex if required
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The rendered message is matched against the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
            <summary>
            <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            </summary>
            <remarks>
            <para>
            The <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
            </para>
            <para>
            The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
            <summary>
            Sets the static string to match
            </summary>
            <remarks>
            <para>
            The string that will be substring matched against
            the rendered message. If the message contains this
            string then the filter will match. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
            </para>
            <para>
            One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            must be specified.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
            <summary>
            Sets the regular expression to match
            </summary>
            <remarks>
            <para>
            The regular expression pattern that will be matched against
            the rendered message. If the message matches this
            pattern then the filter will match. If a match is found then
            the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
            </para>
            <para>
            One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
            must be specified.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.PropertyFilter.m_key">
            <summary>
            The key to use to lookup the string from the event properties
            </summary>
        </member>
        <member name="M:log4net.Filter.PropertyFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.PropertyFilter.Decide(log4net.Core.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
            <remarks>
            <para>
            The event property for the <see cref="P:log4net.Filter.PropertyFilter.Key"/> is matched against 
            the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
            the property value then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.PropertyFilter.Key">
            <summary>
            The key to lookup in the event properties and then match against.
            </summary>
            <remarks>
            <para>
            The key name to use to lookup in the properties map of the
            <see cref="T:log4net.Core.LoggingEvent"/>. The match will be performed against 
            the value of this property if it exists.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.NdcFilter">
            <summary>
            Simple filter to match a string in the <see cref="T:log4net.NDC"/>
            </summary>
            <remarks>
            <para>
            Simple filter to match a string in the <see cref="T:log4net.NDC"/>
            </para>
            <para>
            As the MDC has been replaced with named stacks stored in the
            properties collections the <see cref="T:log4net.Filter.PropertyFilter"/> should 
            be used instead.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Filter.NdcFilter.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Sets the <see cref="P:log4net.Filter.PropertyFilter.Key"/> to <c>"NDC"</c>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
            <summary>
            Write the event appdomain name to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
            </para>
            </remarks>
            <author>Daniel Cazzulino</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
            <summary>
            Abstract class that provides the formatting functionality that 
            derived classes need.
            </summary>
            <remarks>
            Conversion specifiers in a conversion patterns are parsed to
            individual PatternConverters. Each of which is responsible for
            converting a logging event in a converter specific manner.
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Util.PatternConverter">
            <summary>
            Abstract class that provides the formatting functionality that 
            derived classes need.
            </summary>
            <remarks>
            <para>
            Conversion specifiers in a conversion patterns are parsed to
            individual PatternConverters. Each of which is responsible for
            converting a logging event in a converter specific manner.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="M:log4net.Util.PatternConverter.#ctor">
            <summary>
            Protected constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Evaluate this pattern converter and write the output to a writer.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
            <remarks>
            <para>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the appropriate way.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
            <summary>
            Set the next pattern converter in the chains
            </summary>
            <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
            <returns>the next converter</returns>
            <remarks>
            <para>
            The PatternConverter can merge with its neighbor during this method (or a sub class).
            Therefore the return value may or may not be the value of the argument passed in.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
            <summary>
            Write the pattern converter to the writer with appropriate formatting
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
            <remarks>
            <para>
            This method calls <see cref="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)"/> to allow the subclass to perform
            appropriate conversion of the pattern converter. If formatting options have
            been specified via the <see cref="P:log4net.Util.PatternConverter.FormattingInfo"/> then this method will
            apply those formattings before writing the output.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
            <summary>
            Fast space padding method.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> to which the spaces will be appended.</param>
            <param name="length">The number of spaces to be padded.</param>
            <remarks>
            <para>
            Fast space padding method.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternConverter.m_option">
            <summary>
            The option string to the converter
            </summary>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
            <summary>
            Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
            </para>
            <code>
            {key1=value1, key2=value2, key3=value3}
            </code>
            <para>
            If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the key and value to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionaryEnumerator)">
            <summary>
            Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the <see cref="T:System.Collections.IDictionaryEnumerator"/> to a writer in the form:
            </para>
            <code>
            {key1=value1, key2=value2, key3=value3}
            </code>
            <para>
            If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the key and value to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
            <summary>
            Write an object to a <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
            <param name="value">the value to write to the writer</param>
            <remarks>
            <para>
            Writes the Object to a writer. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            is not null then it is used to render the object to text, otherwise
            the object's ToString method is called.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Next">
            <summary>
            Get the next pattern converter in the chain
            </summary>
            <value>
            the next pattern converter in the chain
            </value>
            <remarks>
            <para>
            Get the next pattern converter in the chain
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.FormattingInfo">
            <summary>
            Gets or sets the formatting info for this converter
            </summary>
            <value>
            The formatting info for this converter
            </value>
            <remarks>
            <para>
            Gets or sets the formatting info for this converter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Option">
            <summary>
            Gets or sets the option value for this converter
            </summary>
            <summary>
            The option for this converter
            </summary>
            <remarks>
            <para>
            Gets or sets the option value for this converter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternConverter.Properties">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter"/> class.
            </summary>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
        </member>
        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">The state object on which the pattern converter should be executed.</param>
        </member>
        <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
            <summary>
            Flag indicating if this converter handles exceptions
            </summary>
            <remarks>
            <c>false</c> if this converter handles exceptions
            </remarks>
        </member>
        <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
            <summary>
            Flag indicating if this converter handles the logging event exception
            </summary>
            <value><c>false</c> if this converter handles the logging event exception</value>
            <remarks>
            <para>
            If this converter handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then this property should be set to
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the property should be set to <c>true</c>.
            </para>
            <para>
            Set this value to override a this default setting. The default
            value is <c>true</c>, this converter does not handle the exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event appdomain name to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetCachePatternConverter">
            <summary>
            Converter for items in the ASP.Net Cache.
            </summary>
            <remarks>
            <para>
            Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache"/>.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetPatternLayoutConverter">
            <summary>
            Abstract class that provides access to the current HttpContext (<see cref="P:System.Web.HttpContext.Current"/>) that 
            derived classes need.
            </summary>
            <remarks>
            This class handles the case when HttpContext.Current is null by writing
            <see cref="P:log4net.Util.SystemInfo.NotAvailableText"/> to the writer.
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetPatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetCachePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Write the ASP.Net Cache item to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property. If no property has been set, all key value pairs from the Cache will
            be written to the output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetContextPatternConverter">
            <summary>
            Converter for items in the <see cref="T:System.Web.HttpContext"/>.
            </summary>
            <remarks>
            <para>
            Outputs an item from the <see cref="T:System.Web.HttpContext"/>.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetContextPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Write the ASP.Net HttpContext item to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetRequestPatternConverter">
            <summary>
            Converter for items in the ASP.Net Cache.
            </summary>
            <remarks>
            <para>
            Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache"/>.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetRequestPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Write the ASP.Net Cache item to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.AspNetSessionPatternConverter">
            <summary>
            Converter for items in the ASP.Net Cache.
            </summary>
            <remarks>
            <para>
            Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache"/>.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Layout.Pattern.AspNetSessionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
            <summary>
            Write the ASP.Net Cache item to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <param name="httpContext">The <see cref="T:System.Web.HttpContext"/> under which the ASP.Net request is running.</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property. If no property has been set, all key value pairs from the Session will
            be written to the output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.DatePatternConverter">
            <summary>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
            </summary>
            <remarks>
            <para>
            Render the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the writer as a string.
            </para>
            <para>
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the formatting of the date. The following values are allowed:
            <list type="definition">
            	<listheader>
            		<term>Option value</term>
            		<description>Output</description>
            	</listheader>
            	<item>
            		<term>ISO8601</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
            		Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
            		</description>
            	</item>
            	<item>
            		<term>DATE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
            		Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>ABSOLUTE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
            		Formats using the <c>"HH:mm:ss,yyyy"</c> for example, <c>"15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
            		This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
            		<see cref="M:DateTime.ToString(string)"/> method.
            		For details on valid patterns see 
            		<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
            		</description>
            	</item>
            </list>
            </para>
            <para>
            The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> is in the local time zone and is rendered in that zone.
            To output the time in Universal time see <see cref="T:log4net.Layout.Pattern.UtcDatePatternConverter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Layout.Pattern.DatePatternConverter.m_dateFormatter">
            <summary>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter pattern based on the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.DatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Convert the pattern into the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.DatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the DatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.ExceptionPatternConverter">
            <summary>
            Write the exception text to the output
            </summary>
            <remarks>
            <para>
            If an exception object is stored in the logging event
            it will be rendered into the pattern output with a
            trailing newline.
            </para>
            <para>
            If there is no exception then nothing will be output
            and no trailing newline will be appended.
            It is typical to put a newline before the exception
            and to have the exception as the last data in the pattern.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the exception text to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            If an exception object is stored in the logging event
            it will be rendered into the pattern output with a
            trailing newline.
            </para>
            <para>
            If there is no exception or the exception property specified
            by the Option value does not exist then nothing will be output
            and no trailing newline will be appended.
            It is typical to put a newline before the exception
            and to have the exception as the last data in the pattern.
            </para>
            <para>
            Recognized values for the Option parameter are:
            </para>
            <list type="bullet">
            	<item>
            		<description>Message</description>
            	</item>
            	<item>
            		<description>Source</description>
            	</item>
            	<item>
            		<description>StackTrace</description>
            	</item>
            	<item>
            		<description>TargetSite</description>
            	</item>
            	<item>
            		<description>HelpLink</description>
            	</item>		
            </list>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.FileLocationPatternConverter">
            <summary>
            Writes the caller location file name to the output
            </summary>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
            the event to the output writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.FileLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the caller location file name to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
            the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.FullLocationPatternConverter">
            <summary>
            Write the caller location info to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.FullLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the caller location info to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.IdentityPatternConverter">
            <summary>
            Writes the event identity to the output
            </summary>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
            the output writer.
            </para>
            </remarks>
            <author>Daniel Cazzulino</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.IdentityPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Writes the event identity to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the value of the <paramref name="loggingEvent"/> 
            <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
            the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.LevelPatternConverter">
            <summary>
            Write the event level to the output
            </summary>
            <remarks>
            <para>
            Writes the display name of the event <see cref="P:log4net.Core.LoggingEvent.Level"/>
            to the writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.LevelPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event level to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.Level.DisplayName"/> of the <paramref name="loggingEvent"/> <see cref="P:log4net.Core.LoggingEvent.Level"/>
            to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.LineLocationPatternConverter">
            <summary>
            Write the caller location line number to the output
            </summary>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
            the event to the output writer.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.LineLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the caller location line number to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
            the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.LoggerPatternConverter">
            <summary>
            Converter for logger name
            </summary>
            <remarks>
            <para>
            Outputs the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the event.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="T:log4net.Layout.Pattern.NamedPatternConverter">
            <summary>
            Converter to output and truncate <c>'.'</c> separated strings
            </summary>
            <remarks>
            <para>
            This abstract class supports truncating a <c>'.'</c> separated string
            to show a specified number of elements from the right hand side.
            This is used to truncate class names that are fully qualified.
            </para>
            <para>
            Subclasses should override the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> method to
            return the fully qualified string.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions">
            <summary>
            Initialize the converter 
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
            <summary>
            Get the fully qualified string data
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the fully qualified name</returns>
            <remarks>
            <para>
            Overridden by subclasses to get the fully qualified name before the
            precision is applied to it.
            </para>
            <para>
            Return the fully qualified <c>'.'</c> (dot/period) separated string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.NamedPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Convert the pattern to the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            Render the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> to the precision
            specified by the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.NamedPatternConverter.declaringType">
            <summary>
            The fully qualified type of the NamedPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.LoggerPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
            <summary>
            Gets the fully qualified name of the logger
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>The fully qualified logger name</returns>
            <remarks>
            <para>
            Returns the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <paramref name="loggingEvent"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.MessagePatternConverter">
            <summary>
            Writes the event message to the output
            </summary>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
            to write out the event message.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.MessagePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Writes the event message to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
            to write out the event message.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.MethodLocationPatternConverter">
            <summary>
            Write the method name to the output
            </summary>
            <remarks>
            <para>
            Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
            the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.MethodLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the method name to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
            the output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.NdcPatternConverter">
            <summary>
            Converter to include event NDC
            </summary>
            <remarks>
            <para>
            Outputs the value of the event property named <c>NDC</c>.
            </para>
            <para>
            The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.NdcPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the event NDC to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            As the thread context stacks are now stored in named event properties
            this converter simply looks up the value of the <c>NDC</c> property.
            </para>
            <para>
            The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.PropertyPatternConverter">
            <summary>
            Property pattern converter
            </summary>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
            then all the properties are written as key value pairs.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.PropertyPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the property value to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
            then all the properties are written as key value pairs.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.RelativeTimePatternConverter">
            <summary>
            Converter to output the relative time of the event
            </summary>
            <remarks>
            <para>
            Converter to output the time of the event relative to the start of the program.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the relative time to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes out the relative time of the event in milliseconds.
            That is the number of milliseconds between the event <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
            and the <see cref="P:log4net.Core.LoggingEvent.StartTime"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
            <summary>
            Helper method to get the time difference between two DateTime objects
            </summary>
            <param name="start">start time (in the current local time zone)</param>
            <param name="end">end time (in the current local time zone)</param>
            <returns>the time difference in milliseconds</returns>
        </member>
        <member name="T:log4net.Layout.Pattern.StackTraceDetailPatternConverter">
            <summary>
            Write the caller stack frames to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
            type3.MethodCall3(type param,...) &gt; type2.MethodCall2(type param,...) &gt; type1.MethodCall1(type param,...)
            </para>
            </remarks>
            <author>Adam Davies</author>
        </member>
        <member name="T:log4net.Layout.Pattern.StackTracePatternConverter">
            <summary>
            Write the caller stack frames to the output
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
            type3.MethodCall3 &gt; type2.MethodCall2 &gt; type1.MethodCall1
            </para>
            </remarks>
            <author>Michael Cromwell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the strack frames to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.GetMethodInformation(log4net.Core.MethodItem)">
            <summary>
            Returns the Name of the method
            </summary>
            <param name="method"></param>
            <remarks>This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter</remarks>
            <returns>string</returns>
        </member>
        <member name="F:log4net.Layout.Pattern.StackTracePatternConverter.declaringType">
            <summary>
            The fully qualified type of the StackTracePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Layout.Pattern.StackTraceDetailPatternConverter.declaringType">
            <summary>
            The fully qualified type of the StackTraceDetailPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.ThreadPatternConverter">
            <summary>
            Converter to include event thread name
            </summary>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.ThreadPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the ThreadName to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.TypeNamePatternConverter">
            <summary>
            Pattern converter for the class name
            </summary>
            <remarks>
            <para>
            Outputs the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the event.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
            <summary>
            Gets the fully qualified name of the class
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>The fully qualified type name for the caller location</returns>
            <remarks>
            <para>
            Returns the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the <paramref name="loggingEvent"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Pattern.UserNamePatternConverter">
            <summary>
            Converter to include event user name
            </summary>
            <author>Douglas de la Torre</author>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.UserNamePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Convert the pattern to the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
        </member>
        <member name="T:log4net.Layout.Pattern.UtcDatePatternConverter">
            <summary>
            Write the TimeStamp to the output
            </summary>
            <remarks>
            <para>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            <para>
            Uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> 
            in Universal time.
            </para>
            <para>
            See the <see cref="T:log4net.Layout.Pattern.DatePatternConverter"/> for details on the date pattern syntax.
            </para>
            </remarks>
            <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.Pattern.UtcDatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Write the TimeStamp to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone, this is converted
            to Universal time before it is rendered.
            </para>
            </remarks>
            <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
        </member>
        <member name="F:log4net.Layout.Pattern.UtcDatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the UtcDatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Layout.DynamicPatternLayout">
            <summary>
            A flexible layout configurable with pattern string that re-evaluates on each call.
            </summary>
            <remarks>
            <para>This class is built on <see cref="T:log4net.Layout.PatternLayout"></see> and provides all the
            features and capabilities of PatternLayout.  PatternLayout is a 'static' class
            in that its layout is done once at configuration time.  This class will recreate
            the layout on each reference.</para>
            <para>One important difference between PatternLayout and DynamicPatternLayout is the
            treatment of the Header and Footer parameters in the configuration.  The Header and Footer
            parameters for DynamicPatternLayout must be syntactically in the form of a PatternString,
            but should not be marked as type log4net.Util.PatternString.  Doing so causes the
            pattern to be statically converted at configuration time and causes DynamicPatternLayout
            to perform the same as PatternLayout.</para>
            <para>Please see <see cref="T:log4net.Layout.PatternLayout"/> for complete documentation.</para>
            <example>
            &lt;layout type="log4net.Layout.DynamicPatternLayout"&gt;
              &lt;param name="Header" value="%newline**** Trace Opened     Local: %date{yyyy-MM-dd HH:mm:ss.fff}     UTC: %utcdate{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /&gt;
              &lt;param name="Footer" value="**** Trace Closed %date{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /&gt;
            &lt;/layout&gt;
            </example>
            </remarks>
        </member>
        <member name="T:log4net.Layout.PatternLayout">
            <summary>
            A flexible layout configurable with pattern string.
            </summary>
            <remarks>
            <para>
            The goal of this class is to <see cref="M:PatternLayout.Format(TextWriter,LoggingEvent)"/> a 
            <see cref="T:log4net.Core.LoggingEvent"/> as a string. The results
            depend on the <i>conversion pattern</i>.
            </para>
            <para>
            The conversion pattern is closely related to the conversion
            pattern of the printf function in C. A conversion pattern is
            composed of literal text and format control expressions called
            <i>conversion specifiers</i>.
            </para>
            <para>
            <i>You are free to insert any literal text within the conversion
            pattern.</i>
            </para>
            <para>
            Each conversion specifier starts with a percent sign (%) and is
            followed by optional <i>format modifiers</i> and a <i>conversion
            pattern name</i>. The conversion pattern name specifies the type of
            data, e.g. logger, level, date, thread name. The format
            modifiers control such things as field width, padding, left and
            right justification. The following is a simple example.
            </para>
            <para>
            Let the conversion pattern be <b>"%-5level [%thread]: %message%newline"</b> and assume
            that the log4net environment was set to use a PatternLayout. Then the
            statements
            </para>
            <code lang="C#">
            ILog log = LogManager.GetLogger(typeof(TestApp));
            log.Debug("Message 1");
            log.Warn("Message 2");   
            </code>
            <para>would yield the output</para>
            <code>
            DEBUG [main]: Message 1
            WARN  [main]: Message 2  
            </code>
            <para>
            Note that there is no explicit separator between text and
            conversion specifiers. The pattern parser knows when it has reached
            the end of a conversion specifier when it reads a conversion
            character. In the example above the conversion specifier
            <b>%-5level</b> means the level of the logging event should be left
            justified to a width of five characters.
            </para>
            <para>
            The recognized conversion pattern names are:
            </para>
            <list type="table">
                <listheader>
                    <term>Conversion Pattern Name</term>
                    <description>Effect</description>
                </listheader>
                <item>
                    <term>a</term>
                    <description>Equivalent to <b>appdomain</b></description>
                </item>
                <item>
                    <term>appdomain</term>
                    <description>
            			Used to output the friendly name of the AppDomain where the 
            			logging event was generated. 
                    </description>
                </item>
                <item>
                    <term>aspnet-cache</term>
                    <description>
                        <para>
                        Used to output all cache items in the case of <b>%aspnet-cache</b> or just one named item if used as <b>%aspnet-cache{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-context</term>
                    <description>
                        <para>
                        Used to output all context items in the case of <b>%aspnet-context</b> or just one named item if used as <b>%aspnet-context{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-request</term>
                    <description>
                        <para>
                        Used to output all request parameters in the case of <b>%aspnet-request</b> or just one named param if used as <b>%aspnet-request{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>aspnet-session</term>
                    <description>
                        <para>
                        Used to output all session items in the case of <b>%aspnet-session</b> or just one named item if used as <b>%aspnet-session{key}</b>
                        </para>
                        <para>
                        This pattern is not available for Compact Framework or Client Profile assemblies.
                        </para>
                    </description>
                </item>
                <item>
                    <term>c</term>
                    <description>Equivalent to <b>logger</b></description>
                </item>
                <item>
                    <term>C</term>
                    <description>Equivalent to <b>type</b></description>
                </item>
                <item>
                    <term>class</term>
                    <description>Equivalent to <b>type</b></description>
                </item>
                <item>
                    <term>d</term>
                    <description>Equivalent to <b>date</b></description>
                </item>
                <item>
            		<term>date</term> 
            		<description>
            			<para>
            			Used to output the date of the logging event in the local time zone. 
            			To output the date in universal time use the <c>%utcdate</c> pattern.
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
            			<b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>exception</term>
            		<description>
            			<para>
            			Used to output the exception passed in with the log message.
            			</para>
            			<para>
            			If an exception object is stored in the logging event
            			it will be rendered into the pattern output with a
            			trailing newline.
            			If there is no exception then nothing will be output
            			and no trailing newline will be appended.
            			It is typical to put a newline before the exception
            			and to have the exception as the last data in the pattern.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>F</term>
                    <description>Equivalent to <b>file</b></description>
                </item>
            	<item>
            		<term>file</term>
            		<description>
            			<para>
            			Used to output the file name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>identity</term>
            		<description>
            			<para>
            			Used to output the user name for the currently active user
            			(Principal.Identity.Name).
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>l</term>
                    <description>Equivalent to <b>location</b></description>
                </item>
                <item>
                    <term>L</term>
                    <description>Equivalent to <b>line</b></description>
                </item>
            	<item>
            		<term>location</term>
            		<description>
            			<para>
            			Used to output location information of the caller which generated
            			the logging event.
            			</para>
            			<para>
            			The location information depends on the CLI implementation but
            			usually consists of the fully qualified name of the calling
            			method followed by the callers source the file name and line
            			number between parentheses.
            			</para>
            			<para>
            			The location information can be very useful. However, its
            			generation is <b>extremely</b> slow. Its use should be avoided
            			unless execution speed is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>level</term>
            		<description>
            			<para>
            			Used to output the level of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>line</term>
            		<description>
            			<para>
            			Used to output the line number from where the logging request
            			was issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>logger</term>
                    <description>
                        <para>
            			Used to output the logger of the logging event. The
            			logger conversion specifier can be optionally followed by
            			<i>precision specifier</i>, that is a decimal constant in
            			brackets.
                        </para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the logger name will be
            			printed. By default the logger name is printed in full.
            			</para>
            			<para>
            			For example, for the logger name "a.b.c" the pattern
            			<b>%logger{2}</b> will output "b.c".
            			</para>
                    </description>
                </item>
                <item>
                    <term>m</term>
                    <description>Equivalent to <b>message</b></description>
                </item>
                <item>
                    <term>M</term>
                    <description>Equivalent to <b>method</b></description>
                </item>
            	<item>
            		<term>message</term>
            		<description>
            			<para>
            			Used to output the application supplied message associated with 
            			the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>mdc</term>
            		<description>
            			<para>
            			The MDC (old name for the ThreadContext.Properties) is now part of the
            			combined event properties. This pattern is supported for compatibility
            			but is equivalent to <b>property</b>.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>method</term>
            		<description>
            			<para>
            			Used to output the method name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>n</term>
                    <description>Equivalent to <b>newline</b></description>
                </item>
            	<item>
            		<term>newline</term>
            		<description>
            			<para>
            			Outputs the platform dependent line separator character or
            			characters.
            			</para>
            			<para>
            			This conversion pattern offers the same performance as using 
            			non-portable line separator strings such as	"\n", or "\r\n". 
            			Thus, it is the preferred way of specifying a line separator.
            			</para> 
            		</description>
            	</item>
            	<item>
            		<term>ndc</term>
            		<description>
            			<para>
            			Used to output the NDC (nested diagnostic context) associated
            			with the thread that generated the logging event.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>p</term>
                    <description>Equivalent to <b>level</b></description>
                </item>
                <item>
                    <term>P</term>
                    <description>Equivalent to <b>property</b></description>
                </item>
                <item>
                    <term>properties</term>
                    <description>Equivalent to <b>property</b></description>
                </item>
            	<item>
            		<term>property</term>
            		<description>
            			<para>
            			Used to output the an event specific property. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <b>%property{user}</b> would include the value
            			from the property that is keyed by the string 'user'. Each property value
            			that is to be included in the log must be specified separately.
            			Properties are added to events by loggers or appenders. By default 
            			the <c>log4net:HostName</c> property is set to the name of machine on 
            			which the event was originally logged.
            			</para>
            			<para>
            			If no key is specified, e.g. <b>%property</b> then all the keys and their
            			values are printed in a comma separated list.
            			</para>
            			<para>
            			The properties of an event are combined from a number of different
            			contexts. These are listed below in the order in which they are searched.
            			</para>
            			<list type="definition">
            				<item>
            					<term>the event properties</term>
            					<description>
            					The event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These 
            					properties are specific to this event only.
            					</description>
            				</item>
            				<item>
            					<term>the thread properties</term>
            					<description>
            					The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
            					thread. These properties are shared by all events logged on this thread.
            					</description>
            				</item>
            				<item>
            					<term>the global properties</term>
            					<description>
            					The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
            					properties are shared by all the threads in the AppDomain.
            					</description>
            				</item>
            			</list>
            			
            		</description>
            	</item>
                <item>
                    <term>r</term>
                    <description>Equivalent to <b>timestamp</b></description>
                </item>
            	<item>
            		<term>stacktrace</term> 
            		<description>
            			<para>
            			Used to output the stack trace of the logging event
            			The stack trace level specifier may be enclosed 
            			between braces. For example, <b>%stacktrace{level}</b>.  
            			If no stack trace level specifier is given then 1 is assumed 
            			</para>
            			<para>
            			Output uses the format:
            			type3.MethodCall3 &gt; type2.MethodCall2 &gt; type1.MethodCall1
            			</para>
                        <para>
                        This pattern is not available for Compact Framework assemblies.
                        </para>
            		</description>
            	</item>
            	<item>
            		<term>stacktracedetail</term> 
            		<description>
            			<para>
            			Used to output the stack trace of the logging event
            			The stack trace level specifier may be enclosed 
            			between braces. For example, <b>%stacktracedetail{level}</b>.  
            			If no stack trace level specifier is given then 1 is assumed 
            			</para>
            			<para>
            			Output uses the format:
                        type3.MethodCall3(type param,...) &gt; type2.MethodCall2(type param,...) &gt; type1.MethodCall1(type param,...)
            			</para>
                        <para>
                        This pattern is not available for Compact Framework assemblies.
                        </para>
            		</description>
            	</item>
                <item>
                    <term>t</term>
                    <description>Equivalent to <b>thread</b></description>
                </item>
            	<item>
            		<term>timestamp</term>
            		<description>
            			<para>
            			Used to output the number of milliseconds elapsed since the start
            			of the application until the creation of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>thread</term>
            		<description>
            			<para>
            			Used to output the name of the thread that generated the
            			logging event. Uses the thread number if no name is available.
            			</para>
            		</description>
            	</item>
                <item>
            		<term>type</term> 
            		<description>
            			<para>
            			Used to output the fully qualified type name of the caller
            			issuing the logging request. This conversion specifier
            			can be optionally followed by <i>precision specifier</i>, that
            			is a decimal constant in brackets.
            			</para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the class name will be
            			printed. By default the class name is output in fully qualified form.
            			</para>
            			<para>
            			For example, for the class name "log4net.Layout.PatternLayout", the
            			pattern <b>%type{1}</b> will output "PatternLayout".
            			</para>
            			<para>
            			<b>WARNING</b> Generating the caller class information is
            			slow. Thus, its use should be avoided unless execution speed is
            			not an issue.
            			</para>
            			<para>
            			See the note below on the availability of caller location information.
            			</para>
            		</description>
                </item>
                <item>
                    <term>u</term>
                    <description>Equivalent to <b>identity</b></description>
                </item>
            	<item>
            		<term>username</term>
            		<description>
            			<para>
            			Used to output the WindowsIdentity for the currently
            			active user.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller WindowsIdentity information is
            			extremely slow. Its use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
                <item>
            		<term>utcdate</term> 
            		<description>
            			<para>
            			Used to output the date of the logging event in universal time. 
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
            			<b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            		</description>
            	</item>
                <item>
                    <term>w</term>
                    <description>Equivalent to <b>username</b></description>
                </item>
                <item>
                    <term>x</term>
                    <description>Equivalent to <b>ndc</b></description>
                </item>
                <item>
                    <term>X</term>
                    <description>Equivalent to <b>mdc</b></description>
                </item>
            	<item>
            		<term>%</term>
            		<description>
            			<para>
            			The sequence %% outputs a single percent sign.
            			</para>
            		</description>
            	</item>
            </list>
            <para>
            The single letter patterns are deprecated in favor of the 
            longer more descriptive pattern names.
            </para>
            <para>
            By default the relevant information is output as is. However,
            with the aid of format modifiers it is possible to change the
            minimum field width, the maximum field width and justification.
            </para>
            <para>
            The optional format modifier is placed between the percent sign
            and the conversion pattern name.
            </para>
            <para>
            The first optional format modifier is the <i>left justification
            flag</i> which is just the minus (-) character. Then comes the
            optional <i>minimum field width</i> modifier. This is a decimal
            constant that represents the minimum number of characters to
            output. If the data item requires fewer characters, it is padded on
            either the left or the right until the minimum width is
            reached. The default is to pad on the left (right justify) but you
            can specify right padding with the left justification flag. The
            padding character is space. If the data item is larger than the
            minimum field width, the field is expanded to accommodate the
            data. The value is never truncated.
            </para>
            <para>
            This behavior can be changed using the <i>maximum field
            width</i> modifier which is designated by a period followed by a
            decimal constant. If the data item is longer than the maximum
            field, then the extra characters are removed from the
            <i>beginning</i> of the data item and not from the end. For
            example, it the maximum field width is eight and the data item is
            ten characters long, then the first two characters of the data item
            are dropped. This behavior deviates from the printf function in C
            where truncation is done from the end.
            </para>
            <para>
            Below are various format modifier examples for the logger
            conversion specifier.
            </para>
            <div class="tablediv">
            	<table class="dtTABLE" cellspacing="0">
            		<tr>
            			<th>Format modifier</th>
            			<th>left justify</th>
            			<th>minimum width</th>
            			<th>maximum width</th>
            			<th>comment</th>
            		</tr>
            		<tr>
            			<td align="center">%20logger</td>
            			<td align="center">false</td>
            			<td align="center">20</td>
            			<td align="center">none</td>
            			<td>
            				<para>
            				Left pad with spaces if the logger name is less than 20
            				characters long.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%-20logger</td>
            			<td align="center">true</td>
            			<td align="center">20</td>
            			<td align="center">none</td>
            			<td>
            				<para>
            				Right pad with spaces if the logger 
            				name is less than 20 characters long.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%.30logger</td>
            			<td align="center">NA</td>
            			<td align="center">none</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Truncate from the beginning if the logger 
            				name is longer than 30 characters.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center"><nobr>%20.30logger</nobr></td>
            			<td align="center">false</td>
            			<td align="center">20</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Left pad with spaces if the logger name is shorter than 20
            				characters. However, if logger name is longer than 30 characters,
            				then truncate from the beginning.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%-20.30logger</td>
            			<td align="center">true</td>
            			<td align="center">20</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Right pad with spaces if the logger name is shorter than 20
            				characters. However, if logger name is longer than 30 characters,
            				then truncate from the beginning.
            				</para>
            			</td>
            		</tr>
            	</table>
            </div>
            <para>
            <b>Note about caller location information.</b><br/>
            The following patterns <c>%type %file %line %method %location %class %C %F %L %l %M</c> 
            all generate caller location information.
            Location information uses the <c>System.Diagnostics.StackTrace</c> class to generate
            a call stack. The caller's information is then extracted from this stack.
            </para>
            <note type="caution">
            <para>
            The <c>System.Diagnostics.StackTrace</c> class is not supported on the 
            .NET Compact Framework 1.0 therefore caller location information is not
            available on that framework.
            </para>
            </note>
            <note type="caution">
            <para>
            The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
            </para>
            <para>
            "StackTrace information will be most informative with Debug build configurations. 
            By default, Debug builds include debug symbols, while Release builds do not. The 
            debug symbols contain most of the file, method name, line number, and column 
            information used in constructing StackFrame and StackTrace objects. StackTrace 
            might not report as many method calls as expected, due to code transformations 
            that occur during optimization."
            </para>
            <para>
            This means that in a Release build the caller information may be incomplete or may 
            not exist at all! Therefore caller location information cannot be relied upon in a Release build.
            </para>
            </note>
            <para>
            Additional pattern converters may be registered with a specific <see cref="T:log4net.Layout.PatternLayout"/>
            instance using the <see cref="M:AddConverter(string, Type)"/> method.
            </para>
            </remarks>
            <example>
            This is a more detailed pattern.
            <code><b>%timestamp [%thread] %level %logger %ndc - %message%newline</b></code>
            </example>
            <example>
            A similar pattern except that the relative time is
            right padded if less than 6 digits, thread name is right padded if
            less than 15 characters and truncated if longer and the logger
            name is left padded if shorter than 30 characters and truncated if
            longer.
            <code><b>%-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline</b></code>
            </example>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Douglas de la Torre</author>
            <author>Daniel Cazzulino</author>
        </member>
        <member name="T:log4net.Layout.LayoutSkeleton">
            <summary>
            Extend this abstract class to create your own log layout format.
            </summary>
            <remarks>
            <para>
            This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
            interface. Most layout objects should extend this class.
            </para>
            </remarks>
            <remarks>
            <note type="inheritinfo">
            <para>
            Subclasses must implement the <see cref="M:Format(TextWriter,LoggingEvent)"/>
            method.
            </para>
            <para>
            Subclasses should set the <see cref="P:log4net.Layout.LayoutSkeleton.IgnoresException"/> in their default
            constructor.
            </para>
            </note>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Layout.ILayout">
            <summary>
            Interface implemented by layout objects
            </summary>
            <remarks>
            <para>
            An <see cref="T:log4net.Layout.ILayout"/> object is used to format a <see cref="T:log4net.Core.LoggingEvent"/>
            as text. The <see cref="M:Format(TextWriter,LoggingEvent)"/> method is called by an
            appender to transform the <see cref="T:log4net.Core.LoggingEvent"/> into a string.
            </para>
            <para>
            The layout can also supply <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
            text that is appender before any events and after all the events respectively.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">The event to format</param>
            <remarks>
            <para>
            This method is called by an appender to format
            the <paramref name="loggingEvent"/> as text and output to a writer.
            </para>
            <para>
            If the caller does not have a <see cref="T:System.IO.TextWriter"/> and prefers the
            event to be formatted as a <see cref="T:System.String"/> then the following
            code can be used to format the event into a <see cref="T:System.IO.StringWriter"/>.
            </para>
            <code lang="C#">
            StringWriter writer = new StringWriter();
            Layout.Format(writer, loggingEvent);
            string formattedEvent = writer.ToString();
            </code>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type</value>
            <remarks>
            <para>
            The content type output by this layout.
            </para>
            <para>
            This is a MIME type e.g. <c>"text/plain"</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>
            The Header text will be appended before any logging events
            are formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>
            The Footer text will be appended after all the logging events
            have been formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.IgnoresException">
            <summary>
            Flag indicating if this layout handle exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>
            If this layout handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_header">
            <summary>
            The header text
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
            <summary>
            The footer text
            </summary>
            <remarks>
            <para>
            See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_ignoresException">
            <summary>
            Flag indicating if this layout handles exceptions
            </summary>
            <remarks>
            <para>
            <c>false</c> if this layout handles exceptions
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
            <summary>
            Empty default constructor
            </summary>
            <remarks>
            <para>
            Empty default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
            <summary>
            Activate component options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> must be called again.
            </para>
            <para>
            This method must be implemented by the subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">The event to format</param>
            <remarks>
            <para>
            This method is called by an appender to format
            the <paramref name="loggingEvent"/> as text.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.Format(log4net.Core.LoggingEvent)">
            <summary>
            Convenience method for easily formatting the logging event into a string variable.
            </summary>
            <param name="loggingEvent"></param>
            <remarks>
            Creates a new StringWriter instance to store the formatted logging event.
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type is <c>"text/plain"</c></value>
            <remarks>
            <para>
            The content type output by this layout.
            </para>
            <para>
            This base class uses the value <c>"text/plain"</c>.
            To change this value a subclass must override this
            property.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>
            The Header text will be appended before any logging events
            are formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>
            The Footer text will be appended after all the logging events
            have been formatted and appended.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
            <summary>
            Flag indicating if this layout handles exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>
            If this layout handles the exception object contained within
            <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.
            </para>
            <para>
            Set this value to override a this default setting. The default
            value is <c>true</c>, this layout does not handle the exception.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.PatternLayout.DefaultConversionPattern">
            <summary>
            Default pattern string for log output. 
            </summary>
            <remarks>
            <para>
            Default pattern string for log output. 
            Currently set to the string <b>"%message%newline"</b> 
            which just prints the application supplied message. 
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.PatternLayout.DetailConversionPattern">
            <summary>
            A detailed conversion pattern
            </summary>
            <remarks>
            <para>
            A conversion pattern which includes Time, Thread, Logger, and Nested Context.
            Current value is <b>%timestamp [%thread] %level %logger %ndc - %message%newline</b>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.PatternLayout.s_globalRulesRegistry">
            <summary>
            Internal map of converter identifiers to converter types.
            </summary>
            <remarks>
            <para>
            This static map is overridden by the m_converterRegistry instance map
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_pattern">
            <summary>
            the pattern
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_head">
            <summary>
            the head of the pattern converter chain
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_instanceRulesRegistry">
            <summary>
            patterns defined on this PatternLayout only
            </summary>
        </member>
        <member name="M:log4net.Layout.PatternLayout.#cctor">
            <summary>
            Initialize the global registry
            </summary>
            <remarks>
            <para>
            Defines the builtin global rules.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.#ctor">
            <summary>
            Constructs a PatternLayout using the DefaultConversionPattern
            </summary>
            <remarks>
            <para>
            The default pattern just produces the application supplied message.
            </para>
            <para>
            Note to Inheritors: This constructor calls the virtual method
            <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
            aware that it will be called before your is called constructor.
            </para>
            <para>
            As per the <see cref="T:log4net.Core.IOptionHandler"/> contract the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>
            method must be called after the properties on this object have been
            configured.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.#ctor(System.String)">
            <summary>
            Constructs a PatternLayout using the supplied conversion pattern
            </summary>
            <param name="pattern">the pattern to use</param>
            <remarks>
            <para>
            Note to Inheritors: This constructor calls the virtual method
            <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
            aware that it will be called before your is called constructor.
            </para>
            <para>
            When using this constructor the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method 
            need not be called. This may not be the case when using a subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)">
            <summary>
            Create the pattern parser instance
            </summary>
            <param name="pattern">the pattern to parse</param>
            <returns>The <see cref="T:log4net.Util.PatternParser"/> that will format the event</returns>
            <remarks>
            <para>
            Creates the <see cref="T:log4net.Util.PatternParser"/> used to parse the conversion string. Sets the
            global and instance rules on the <see cref="T:log4net.Util.PatternParser"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Produces a formatted string as specified by the conversion pattern.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Parse the <see cref="T:log4net.Core.LoggingEvent"/> using the patter format
            specified in the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.AddConverter(log4net.Util.ConverterInfo)">
            <summary>
            Add a converter to this PatternLayout
            </summary>
            <param name="converterInfo">the converter info</param>
            <remarks>
            <para>
            This version of the method is used by the configurator.
            Programmatic users should use the alternative <see cref="M:AddConverter(string,Type)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)">
            <summary>
            Add a converter to this PatternLayout
            </summary>
            <param name="name">the name of the conversion pattern for this converter</param>
            <param name="type">the type of the converter</param>
            <remarks>
            <para>
            Add a named pattern converter to this instance. This
            converter will be used in the formatting of the event.
            This method must be called before <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>.
            </para>
            <para>
            The <paramref name="type"/> specified must extend the 
            <see cref="T:log4net.Util.PatternConverter"/> type.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.PatternLayout.ConversionPattern">
            <summary>
            The pattern formatting string
            </summary>
            <remarks>
            <para>
            The <b>ConversionPattern</b> option. This is the string which
            controls formatting and consists of a mix of literal content and
            conversion specifiers.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.DynamicPatternLayout.m_headerPatternString">
            <summary>
            The header PatternString
            </summary>
        </member>
        <member name="F:log4net.Layout.DynamicPatternLayout.m_footerPatternString">
            <summary>
            The footer PatternString
            </summary>
        </member>
        <member name="M:log4net.Layout.DynamicPatternLayout.#ctor">
            <summary>
            Constructs a DynamicPatternLayout using the DefaultConversionPattern
            </summary>
            <remarks>
            <para>
            The default pattern just produces the application supplied message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.DynamicPatternLayout.#ctor(System.String)">
            <summary>
            Constructs a DynamicPatternLayout using the supplied conversion pattern
            </summary>
            <param name="pattern">the pattern to use</param>
            <remarks>
            </remarks>
        </member>
        <member name="P:log4net.Layout.DynamicPatternLayout.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>
            The Header text will be appended before any logging events
            are formatted and appended.
            </para>
            The pattern will be formatted on each get operation.
            </remarks>
        </member>
        <member name="P:log4net.Layout.DynamicPatternLayout.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>
            The Footer text will be appended after all the logging events
            have been formatted and appended.
            </para>
            The pattern will be formatted on each get operation.
            </remarks>
        </member>
        <member name="T:log4net.Layout.ExceptionLayout">
            <summary>
            A Layout that renders only the Exception text from the logging event
            </summary>
            <remarks>
            <para>
            A Layout that renders only the Exception text from the logging event.
            </para>
            <para>
            This Layout should only be used with appenders that utilize multiple
            layouts (e.g. <see cref="T:log4net.Appender.AdoNetAppender"/>).
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Constructs a ExceptionLayout
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
            <summary>
            Activate component options
            </summary>
            <remarks>
            <para>
            Part of the <see cref="T:log4net.Core.IOptionHandler"/> component activation
            framework.
            </para>
            <para>
            This method does nothing as options become effective immediately.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Gets the exception text from the logging event
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <param name="loggingEvent">the event being logged</param>
            <remarks>
            <para>
            Write the exception string to the <see cref="T:System.IO.TextWriter"/>.
            The exception string is retrieved from <see cref="M:LoggingEvent.GetExceptionString()"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.IRawLayout">
            <summary>
            Interface for raw layout objects
            </summary>
            <remarks>
            <para>
            Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
            to an object.
            </para>
            <para>
            This interface should not be confused with the
            <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
            only certain specialized situations where a raw object is
            required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
            is not generally useful than this interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>
            Implement this method to create your own layout format.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
            <summary>
            Adapts any <see cref="T:log4net.Layout.ILayout"/> to a <see cref="T:log4net.Layout.IRawLayout"/>
            </summary>
            <remarks>
            <para>
            Where an <see cref="T:log4net.Layout.IRawLayout"/> is required this adapter
            allows a <see cref="T:log4net.Layout.ILayout"/> to be specified.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
            <summary>
            The layout to adapt
            </summary>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
            <summary>
            Construct a new adapter
            </summary>
            <param name="layout">the layout to adapt</param>
            <remarks>
            <para>
            Create the adapter for the specified <paramref name="layout"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.Core.LoggingEvent)">
            <summary>
            Format the logging event as an object.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>
            Format the logging event as an object.
            </para>
            <para>
            Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to 
            the constructor to perform the formatting.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawLayoutConverter">
            <summary>
            Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
            </summary>
            <remarks>
            <para>
            Used to convert objects to the <see cref="T:log4net.Layout.IRawLayout"/> interface.
            Supports converting from the <see cref="T:log4net.Layout.ILayout"/> interface to
            the <see cref="T:log4net.Layout.IRawLayout"/> interface using the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.TypeConverters.IConvertFrom">
            <summary>
            Interface supported by type converters
            </summary>
            <remarks>
            <para>
            This interface supports conversion from arbitrary types
            to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Test if the <paramref name="sourceType"/> can be converted to the
            type supported by this converter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Converts the <paramref name="source"/> to the type supported
            by this converter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
            </summary>
            <param name="sourceType">the source to be to be converted</param>
            <returns><c>true</c> if the source type can be converted to <see cref="T:log4net.Layout.IRawLayout"/></returns>
            <remarks>
            <para>
            Test if the <paramref name="sourceType"/> can be converted to a
            <see cref="T:log4net.Layout.IRawLayout"/>. Only <see cref="T:log4net.Layout.ILayout"/> is supported
            as the <paramref name="sourceType"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
            </summary>
            <param name="source">the value to convert</param>
            <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
            <remarks>
            <para>
            Convert the <paramref name="source"/> object to a 
            <see cref="T:log4net.Layout.IRawLayout"/> object. If the <paramref name="source"/> object
            is a <see cref="T:log4net.Layout.ILayout"/> then the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>
            is used to adapt between the two interfaces, otherwise an
            exception is thrown.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawPropertyLayout">
            <summary>
            Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
            </summary>
            <remarks>
            <para>
            Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Layout.RawPropertyLayout.#ctor">
            <summary>
            Constructs a RawPropertyLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.RawPropertyLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Lookup the property for <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns property value</returns>
            <remarks>
            <para>
            Looks up and returns the object value of the property
            named <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>. If there is no property defined
            with than name then <c>null</c> will be returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.RawPropertyLayout.Key">
            <summary>
            The name of the value to lookup in the LoggingEvent Properties collection.
            </summary>
            <value>
            Value to lookup in the LoggingEvent Properties collection
            </value>
            <remarks>
            <para>
            String name of the property to lookup in the <see cref="T:log4net.Core.LoggingEvent"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawTimeStampLayout">
            <summary>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </summary>
            <remarks>
            <para>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
            <summary>
            Constructs a RawTimeStampLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the time stamp</returns>
            <remarks>
            <para>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </para>
            <para>
            The time stamp is in local time. To format the time stamp
            in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.RawUtcTimeStampLayout">
            <summary>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </summary>
            <remarks>
            <para>
            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.RawUtcTimeStampLayout.#ctor">
            <summary>
            Constructs a RawUtcTimeStampLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.RawUtcTimeStampLayout.Format(log4net.Core.LoggingEvent)">
            <summary>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the time stamp</returns>
            <remarks>
            <para>
            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
            </para>
            <para>
            The time stamp is in universal time. To format the time stamp
            in local time use <see cref="T:log4net.Layout.RawTimeStampLayout"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.SimpleLayout">
            <summary>
            A very simple layout
            </summary>
            <remarks>
            <para>
            SimpleLayout consists of the level of the log statement,
            followed by " - " and then the log message itself. For example,
            <code>
            DEBUG - Hello world
            </code>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.#ctor">
            <summary>
            Constructs a SimpleLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Produces a simple formatted output.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Formats the event as the level of the even,
            followed by " - " and then the log message itself. The
            output is terminated by a newline.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.XmlLayout">
             <summary>
             Layout that formats the log events as XML elements.
             </summary>
             <remarks>
             <para>
             The output of the <see cref="T:log4net.Layout.XmlLayout"/> consists of a series of 
             log4net:event elements. It does not output a complete well-formed XML 
             file. The output is designed to be included as an <em>external entity</em>
             in a separate file to form a correct XML file.
             </para>
             <para>
             For example, if <c>abc</c> is the name of the file where
             the <see cref="T:log4net.Layout.XmlLayout"/> output goes, then a well-formed XML file would 
             be:
             </para>
             <code lang="XML">
             &lt;?xml version="1.0" ?&gt;
             
             &lt;!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt;
            
             &lt;log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2&gt;
                 &amp;data;
             &lt;/log4net:events&gt;
             </code>
             <para>
             This approach enforces the independence of the <see cref="T:log4net.Layout.XmlLayout"/> 
             and the appender where it is embedded.
             </para>
             <para>
             The <c>version</c> attribute helps components to correctly
             interpret output generated by <see cref="T:log4net.Layout.XmlLayout"/>. The value of 
             this attribute should be "1.2" for release 1.2 and later.
             </para>
             <para>
             Alternatively the <c>Header</c> and <c>Footer</c> properties can be
             configured to output the correct XML header, open tag and close tag.
             When setting the <c>Header</c> and <c>Footer</c> properties it is essential
             that the underlying data store not be appendable otherwise the data
             will become invalid XML.
             </para>
             </remarks>
             <author>Nicko Cadell</author>
             <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Layout.XmlLayoutBase">
            <summary>
            Layout that formats the log events as XML elements.
            </summary>
            <remarks>
            <para>
            This is an abstract class that must be subclassed by an implementation 
            to conform to a specific schema.
            </para>
            <para>
            Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
            <summary>
            Protected constructor to support subclasses
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class
            with no location info.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
            <summary>
            Protected constructor to support subclasses
            </summary>
            <remarks>
            <para>
            The <paramref name="locationInfo" /> parameter determines whether 
            location information will be output by the layout. If 
            <paramref name="locationInfo" /> is set to <c>true</c>, then the 
            file name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
            <summary>
            Produces a formatted string.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Format the <see cref="T:log4net.Core.LoggingEvent"/> and write it to the <see cref="T:System.IO.TextWriter"/>.
            </para>
            <para>
            This method creates an <see cref="T:System.Xml.XmlTextWriter"/> that writes to the
            <paramref name="writer"/>. The <see cref="T:System.Xml.XmlTextWriter"/> is passed 
            to the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method. Subclasses should override the
            <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method rather than this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
            <summary>
            Does the actual writing of the XML.
            </summary>
            <param name="writer">The writer to use to output the event to.</param>
            <param name="loggingEvent">The event to write.</param>
            <remarks>
            <para>
            Subclasses should override this method to format
            the <see cref="T:log4net.Core.LoggingEvent"/> as XML.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
            <summary>
            Flag to indicate if location information should be included in
            the XML events.
            </summary>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_invalidCharReplacement">
            <summary>
            The string to replace invalid chars with
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
            <summary>
            Gets a value indicating whether to include location information in 
            the XML events.
            </summary>
            <value>
            <c>true</c> if location information should be included in the XML 
            events; otherwise, <c>false</c>.
            </value>
            <remarks>
            <para>
            If <see cref="P:log4net.Layout.XmlLayoutBase.LocationInfo"/> is set to <c>true</c>, then the file 
            name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an <c>SMTPAppender</c>
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement">
            <summary>
            The string to replace characters that can not be expressed in XML with.
            <remarks>
            <para>
            Not all characters may be expressed in XML. This property contains the
            string to replace those that can not with. This defaults to a ?. Set it
            to the empty string to simply remove offending characters. For more
            details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets
            Character replacement will occur in  the log message, the property names 
            and the property values.
            </para>
            </remarks>
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
            <summary>
            Gets the content type output by this layout. 
            </summary>
            <value>
            As this is the XML layout, the value is always <c>"text/xml"</c>.
            </value>
            <remarks>
            <para>
            As this is the XML layout, the value is always <c>"text/xml"</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayout.#ctor">
            <summary>
            Constructs an XmlLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayout.#ctor(System.Boolean)">
            <summary>
            Constructs an XmlLayout.
            </summary>
            <remarks>
            <para>
            The <b>LocationInfo</b> option takes a boolean value. By
            default, it is set to false which means there will be no location
            information output by this layout. If the the option is set to
            true, then the file name and line number of the statement
            at the origin of the log statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SmtpAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayout.ActivateOptions">
            <summary>
            Initialize layout options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> must be called again.
            </para>
            <para>
            Builds a cache of the element names
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayout.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
            <summary>
            Does the actual writing of the XML.
            </summary>
            <param name="writer">The writer to use to output the event to.</param>
            <param name="loggingEvent">The event to write.</param>
            <remarks>
            <para>
            Override the base class <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method
            to write the <see cref="T:log4net.Core.LoggingEvent"/> to the <see cref="T:System.Xml.XmlWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.XmlLayout.m_prefix">
            <summary>
            The prefix to use for all generated element names
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayout.Prefix">
            <summary>
            The prefix to use for all element names
            </summary>
            <remarks>
            <para>
            The default prefix is <b>log4net</b>. Set this property
            to change the prefix. If the prefix is set to an empty string
            then no prefix will be written.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayout.Base64EncodeMessage">
            <summary>
            Set whether or not to base64 encode the message.
            </summary>
            <remarks>
            <para>
            By default the log message will be written as text to the xml
            output. This can cause problems when the message contains binary
            data. By setting this to true the contents of the message will be
            base64 encoded. If this is set then invalid character replacement
            (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
            on the log message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayout.Base64EncodeProperties">
            <summary>
            Set whether or not to base64 encode the property values.
            </summary>
            <remarks>
            <para>
            By default the properties will be written as text to the xml
            output. This can cause problems when one or more properties contain
            binary data. By setting this to true the values of the properties
            will be base64 encoded. If this is set then invalid character replacement
            (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
            on the property values.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
            <summary>
            Layout that formats the log events as XML elements compatible with the log4j schema
            </summary>
            <remarks>
            <para>
            Formats the log events according to the http://logging.apache.org/log4j schema.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Layout.XmlLayoutSchemaLog4j.s_date1970">
            <summary>
            The 1st of January 1970 in UTC
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
            <summary>
            Constructs an XMLLayoutSchemaLog4j
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
            <summary>
            Constructs an XMLLayoutSchemaLog4j.
            </summary>
            <remarks>
            <para>
            The <b>LocationInfo</b> option takes a boolean value. By
            default, it is set to false which means there will be no location
            information output by this layout. If the the option is set to
            true, then the file name and line number of the statement
            at the origin of the log statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
            <summary>
            Actually do the writing of the xml
            </summary>
            <param name="writer">the writer to use</param>
            <param name="loggingEvent">the event to write</param>
            <remarks>
            <para>
            Generate XML that is compatible with the log4j schema.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
            <summary>
            The version of the log4j schema to use.
            </summary>
            <remarks>
            <para>
            Only version 1.2 of the log4j schema is supported.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.DefaultRenderer">
            <summary>
            The default object Renderer.
            </summary>
            <remarks>
            <para>
            The default renderer supports rendering objects and collections to strings.
            </para>
            <para>
            See the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)"/> method for details of the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.ObjectRenderer.IObjectRenderer">
            <summary>
            Implement this interface in order to render objects as strings
            </summary>
            <remarks>
            <para>
            Certain types require special case conversion to
            string form. This conversion is done by an object renderer.
            Object renderers implement the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>
            interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ObjectRenderer.IObjectRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the object <paramref name="obj"/> to a 
            string.
            </para>
            <para>
            The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:RendererMap.FindAndRender(object, TextWriter)"/>
            method can be used to render these objects.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the object <paramref name="obj"/> to a string.
            </para>
            <para>
            The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:RendererMap.FindAndRender(object)"/>
            method can be used to render these objects.
            </para>
            <para>
            The default renderer supports rendering objects to strings as follows:
            </para>
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Rendered String</description>
            	</listheader>
            	<item>
            		<term><c>null</c></term>
            		<description>
            		<para>"(null)"</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Array"/></term>
            		<description>
            		<para>
            		For a one dimensional array this is the
            		array type name, an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace. 
            		</para>
            		<para>
            		For example: <c>int[] {1, 2, 3}</c>.
            		</para>
            		<para>
            		If the array is not one dimensional the 
            		<c>Array.ToString()</c> is returned.
            		</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> &amp; <see cref="T:System.Collections.IEnumerator"/></term>
            		<description>
            		<para>
            		Rendered as an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace.
            		</para>
            		<para>
            		For example: <c>{a, b, c}</c>.
            		</para>
            		<para>
            		All collection classes that implement <see cref="T:System.Collections.ICollection"/> its subclasses, 
            		or generic equivalents all implement the <see cref="T:System.Collections.IEnumerable"/> interface.
            		</para>
            		</description>
            	</item>		
            	<item>
            		<term><see cref="T:System.Collections.DictionaryEntry"/></term>
            		<description>
            		<para>
            		Rendered as the key, an equals sign ('='), and the value (using the appropriate
            		renderer). 
            		</para>
            		<para>
            		For example: <c>key=value</c>.
            		</para>
            		</description>
            	</item>		
            	<item>
            		<term>other</term>
            		<description>
            		<para><c>Object.ToString()</c></para>
            		</description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array,System.IO.TextWriter)">
            <summary>
            Render the array argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="array">the array to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            For a one dimensional array this is the
            array type name, an open brace, followed by a comma
            separated list of the elements (using the appropriate
            renderer), followed by a close brace. For example:
            <c>int[] {1, 2, 3}</c>.
            </para>
            <para>
            If the array is not one dimensional the 
            <c>Array.ToString()</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderEnumerator(log4net.ObjectRenderer.RendererMap,System.Collections.IEnumerator,System.IO.TextWriter)">
            <summary>
            Render the enumerator argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="enumerator">the enumerator to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Rendered as an open brace, followed by a comma
            separated list of the elements (using the appropriate
            renderer), followed by a close brace. For example:
            <c>{a, b, c}</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderDictionaryEntry(log4net.ObjectRenderer.RendererMap,System.Collections.DictionaryEntry,System.IO.TextWriter)">
            <summary>
            Render the DictionaryEntry argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="entry">the DictionaryEntry to render</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Render the key, an equals sign ('='), and the value (using the appropriate
            renderer). For example: <c>key=value</c>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.RendererMap">
            <summary>
            Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            </summary>
            <remarks>
            <para>
            Maintains a mapping between types that require special
            rendering and the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> that
            is used to render them.
            </para>
            <para>
            The <see cref="M:FindAndRender(object)"/> method is used to render an
            <c>object</c> using the appropriate renderers defined in this map.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Default constructor.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
            <summary>
            Render <paramref name="obj"/> using the appropriate renderer.
            </summary>
            <param name="obj">the object to render to a string</param>
            <returns>the object rendered as a string</returns>
            <remarks>
            <para>
            This is a convenience method used to render an object to a string.
            The alternative method <see cref="M:FindAndRender(object,TextWriter)"/>
            should be used when streaming output to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)">
            <summary>
            Render <paramref name="obj"/> using the appropriate renderer.
            </summary>
            <param name="obj">the object to render to a string</param>
            <param name="writer">The writer to render to</param>
            <remarks>
            <para>
            Find the appropriate renderer for the type of the
            <paramref name="obj"/> parameter. This is accomplished by calling the
            <see cref="M:Get(Type)"/> method. Once a renderer is found, it is
            applied on the object <paramref name="obj"/> and the result is returned
            as a <see cref="T:System.String"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
            <summary>
            Gets the renderer for the specified object type
            </summary>
            <param name="obj">the object to lookup the renderer for</param>
            <returns>the renderer for <paramref name="obj"/></returns>
            <remarks>
            <param>
            Gets the renderer for the specified object type.
            </param>
            <param>
            Syntactic sugar method that calls <see cref="M:Get(Type)"/> 
            with the type of the object parameter.
            </param>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
            <summary>
            Gets the renderer for the specified type
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
            <remarks>
            <para>
            Returns the renderer for the specified type.
            If no specific renderer has been defined the
            <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/> will be returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.SearchTypeAndInterfaces(System.Type)">
            <summary>
            Internal function to recursively search interfaces
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
            <summary>
            Clear the map of renderers
            </summary>
            <remarks>
            <para>
            Clear the custom renderers defined by using
            <see cref="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)"/>. The <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/>
            cannot be removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>. 
            </summary>
            <param name="typeToRender">the type that will be rendered by <paramref name="renderer"/></param>
            <param name="renderer">the renderer for <paramref name="typeToRender"/></param>
            <remarks>
            <para>
            Register an object renderer for a specific source type.
            This renderer will be returned from a call to <see cref="M:Get(Type)"/>
            specifying the same <paramref name="typeToRender"/> as an argument.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
            <summary>
            Get the default renderer instance
            </summary>
            <value>the default renderer</value>
            <remarks>
            <para>
            Get the default renderer
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.IPlugin">
            <summary>
            Interface implemented by logger repository plugins.
            </summary>
            <remarks>
            <para>
            Plugins define additional behavior that can be associated
            with a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            The <see cref="T:log4net.Plugin.PluginMap"/> held by the <see cref="P:log4net.Repository.ILoggerRepository.PluginMap"/>
            property is used to store the plugins for a repository.
            </para>
            <para>
            The <c>log4net.Config.PluginAttribute</c> can be used to
            attach plugins to repositories created using configuration
            attributes.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
            <remarks>
            <para>
            This method is called to notify the plugin that 
            it should stop operating and should detach from
            the repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.IPlugin.Name">
            <summary>
            Gets the name of the plugin.
            </summary>
            <value>
            The name of the plugin.
            </value>
            <remarks>
            <para>
            Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
            keyed by name. Each plugin instance attached to a
            repository must be a unique name.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.PluginCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
            <summary>
            Creates a read-only wrapper for a <c>PluginCollection</c> instance.
            </summary>
            <param name="list">list to create a readonly wrapper arround</param>
            <returns>
            A <c>PluginCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <c>PluginCollection</c>.
            </summary>
            <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="tag"></param>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clear">
            <summary>
            Removes all elements from the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <returns>A new <see cref="T:log4net.Plugin.PluginCollection"/> with a shallow copy of the collection data.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
            <summary>
            Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>PluginCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
            in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>PluginCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
            <summary>
            Inserts an element into the <c>PluginCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the <c>PluginCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Plugin.IPlugin"/> was not found in the <c>PluginCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>PluginCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>PluginCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
            <summary>
            Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <c>PluginCollection</c> whose elements should be added to the end of the current <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="i"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
            <value>
            An object that can be used to synchronize access to the collection.
            </value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </value>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>PluginCollection</c> can contain.
            </summary>
            <value>
            The number of elements the <c>PluginCollection</c> can contain.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
            <exclude/>
        </member>
        <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
            <exclude/>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
            <value>
            The current element in the collection.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.ReadOnlyPluginCollection">
            <exclude/>
        </member>
        <member name="T:log4net.Plugin.PluginMap">
            <summary>
            Map of repository plugins.
            </summary>
            <remarks>
            <para>
            This class is a name keyed map of the plugins that are
            attached to a repository.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Constructor
            </summary>
            <param name="repository">The repository that the plugins should be attached to.</param>
            <remarks>
            <para>
            Initialize a new instance of the <see cref="T:log4net.Plugin.PluginMap"/> class with a 
            repository that the plugins should be attached to.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to add to the map.</param>
            <remarks>
            <para>
            The <see cref="T:log4net.Plugin.IPlugin"/> will be attached to the repository when added.
            </para>
            <para>
            If there already exists a plugin with the same name 
            attached to the repository then the old plugin will
            be <see cref="M:log4net.Plugin.IPlugin.Shutdown"/> and replaced with
            the new plugin.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes a <see cref="T:log4net.Plugin.IPlugin"/> from the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the map.</param>
            <remarks>
            <para>
            Remove a specific plugin from this map.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
            <summary>
            Gets a <see cref="T:log4net.Plugin.IPlugin"/> by name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin"/> to lookup.</param>
            <returns>
            The <see cref="T:log4net.Plugin.IPlugin"/> from the map with the name specified, or 
            <c>null</c> if no plugin is found.
            </returns>
            <remarks>
            <para>
            Lookup a plugin by name. If the plugin is not found <c>null</c>
            will be returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.PluginMap.AllPlugins">
            <summary>
            Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
            <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.</value>
            <remarks>
            <para>
            Get a collection of all the plugins defined in this map.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.PluginSkeleton">
            <summary>
            Base implementation of <see cref="T:log4net.Plugin.IPlugin"/>
            </summary>
            <remarks>
            <para>
            Default abstract implementation of the <see cref="T:log4net.Plugin.IPlugin"/>
            interface. This base class can be used by implementors
            of the <see cref="T:log4net.Plugin.IPlugin"/> interface.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="name">the name of the plugin</param>
            <remarks>
            Initializes a new Plugin with the specified name.
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
            <remarks>
            <para>
            This method is called to notify the plugin that 
            it should stop operating and should detach from
            the repository.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Plugin.PluginSkeleton.m_name">
            <summary>
            The name of this plugin.
            </summary>
        </member>
        <member name="F:log4net.Plugin.PluginSkeleton.m_repository">
            <summary>
            The repository this plugin is attached to.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginSkeleton.Name">
            <summary>
            Gets or sets the name of the plugin.
            </summary>
            <value>
            The name of the plugin.
            </value>
            <remarks>
            <para>
            Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
            keyed by name. Each plugin instance attached to a
            repository must be a unique name.
            </para>
            <para>
            The name of the plugin must not change one the 
            plugin has been attached to a repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Plugin.PluginSkeleton.LoggerRepository">
            <summary>
            The repository for this plugin
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is attached to.
            </value>
            <remarks>
            <para>
            Gets or sets the <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is 
            attached to.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.RemoteLoggingServerPlugin">
            <summary>
            Plugin that listens for events from the <see cref="T:log4net.Appender.RemotingAppender"/>
            </summary>
            <remarks>
            <para>
            This plugin publishes an instance of <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/> 
            on a specified <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/>. This listens for logging events delivered from
            a remote <see cref="T:log4net.Appender.RemotingAppender"/>.
            </para>
            <para>
            When an event is received it is relogged within the attached repository
            as if it had been raised locally.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class.
            </para>
            <para>
            The <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> property must be set.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor(System.String)">
            <summary>
            Construct with sink Uri.
            </summary>
            <param name="sinkUri">The name to publish the sink under in the remoting infrastructure. 
            See <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> for more details.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class
            with specified name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
            <remarks>
            <para>
            When the plugin is shutdown the remote logging
            sink is disconnected.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.declaringType">
            <summary>
            The fully qualified type of the RemoteLoggingServerPlugin class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri">
            <summary>
            Gets or sets the URI of this sink.
            </summary>
            <value>
            The URI of this sink.
            </value>
            <remarks>
            <para>
            This is the name under which the object is marshaled.
            <see cref="M:RemotingServices.Marshal(MarshalByRefObject,String,Type)"/>
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl">
            <summary>
            Delivers <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
            </summary>
            <remarks>
            <para>
            Internal class used to listen for logging events
            and deliver them to the local repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Constructor
            </summary>
            <param name="repository">The repository to log to.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl"/> for the
            specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LogEvents(log4net.Core.LoggingEvent[])">
            <summary>
            Logs the events to the repository.
            </summary>
            <param name="events">The events to log.</param>
            <remarks>
            <para>
            The events passed are logged to the <see cref="T:log4net.Repository.ILoggerRepository"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.InitializeLifetimeService">
            <summary>
            Obtains a lifetime service object to control the lifetime 
            policy for this instance.
            </summary>
            <returns><c>null</c> to indicate that this instance should live forever.</returns>
            <remarks>
            <para>
            Obtains a lifetime service object to control the lifetime 
            policy for this instance. This object should live forever
            therefore this implementation returns <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.m_repository">
            <summary>
            The underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that events should
            be logged to.
            </summary>
        </member>
        <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory">
            <summary>
            Default implementation of <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
            </summary>
            <remarks>
            <para>
            This default implementation of the <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
            interface is used to create the default subclass
            of the <see cref="T:log4net.Repository.Hierarchy.Logger"/> object.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Repository.Hierarchy.ILoggerFactory">
            <summary>
            Interface abstracts creation of <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances
            </summary>
            <remarks>
            <para>
            This interface is used by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to 
            create new <see cref="T:log4net.Repository.Hierarchy.Logger"/> objects.
            </para>
            <para>
            The <see cref="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)"/> method is called
            to create a named <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
            </para>
            <para>
            Implement this interface to create new subclasses of <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)">
            <summary>
            Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that will own the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance for the specified name.</returns>
            <remarks>
            <para>
            Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the 
            specified name.
            </para>
            <para>
            Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
            new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
            </para>
            <para>
            If the <paramref name="name"/> is <c>null</c> then the root logger
            must be returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> class. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)">
            <summary>
            Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that will own the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance for the specified name.</returns>
            <remarks>
            <para>
            Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the 
            specified name.
            </para>
            <para>
            Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
            new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
            </para>
            <para>
            If the <paramref name="name"/> is <c>null</c> then the root logger
            must be returned.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl">
            <summary>
            Default internal subclass of <see cref="T:log4net.Repository.Hierarchy.Logger"/>
            </summary>
            <remarks>
            <para>
            This subclass has no additional behavior over the
            <see cref="T:log4net.Repository.Hierarchy.Logger"/> class but does allow instances
            to be created.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Logger">
            <summary>
            Implementation of <see cref="T:log4net.Core.ILogger"/> used by <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>
            </summary>
            <remarks>
            <para>
            Internal class used to provide implementation of <see cref="T:log4net.Core.ILogger"/>
            interface. Applications should use <see cref="T:log4net.LogManager"/> to get
            logger instances.
            </para>
            <para>
            This is one of the central classes in the log4net implementation. One of the
            distinctive features of log4net are hierarchical loggers and their
            evaluation. The <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> organizes the <see cref="T:log4net.Repository.Hierarchy.Logger"/>
            instances into a rooted tree hierarchy.
            </para>
            <para>
            The <see cref="T:log4net.Repository.Hierarchy.Logger"/> class is abstract. Only concrete subclasses of
            <see cref="T:log4net.Repository.Hierarchy.Logger"/> can be created. The <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
            is used to create instances of this type for the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Aspi Havewala</author>
            <author>Douglas de la Torre</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
            <summary>
            This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance and
            sets its name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <remarks>
            <para>
            This constructor is protected and designed to be used by
            a subclass that is not abstract.
            </para>
            <para>
            Loggers are constructed by <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> 
            objects. See <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> for the default
            logger creator.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            </summary>
            <param name="newAppender">An appender to add to this logger</param>
            <remarks>
            <para>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            </para>
            <para>
            If <paramref name="newAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
            <summary>
            Look for the appender named as <c>name</c>
            </summary>
            <param name="name">The name of the appender to lookup</param>
            <returns>The appender with the name specified, or <c>null</c>.</returns>
            <remarks>
            <para>
            Returns the named appender, or null if the appender is not found.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
            <summary>
            Remove all previously added appenders from this Logger instance.
            </summary>
            <remarks>
            <para>
            Remove all previously added appenders from this Logger instance.
            </para>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="appender">The appender to remove</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            Remove the appender passed as parameter form the list of appenders.
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            Remove the named appender passed as parameter form the list of appenders.
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="exception"/>.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.LoggingEvent)">
            <summary>
            This is the most generic printing method that is intended to be used 
            by wrappers.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Logs the specified logging event through this logger.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.Core.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
            <remarks>
            <para>
            Test if this logger is going to log events of the specified <paramref name="level"/>.
            </para>
            <para>
            This method must not throw any exception to the caller.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)">
            <summary>
            Deliver the <see cref="T:log4net.Core.LoggingEvent"/> to the attached appenders.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Call the appenders in the hierarchy starting at
            <c>this</c>. If no appenders could be found, emit a
            warning.
            </para>
            <para>
            This method calls all the appenders inherited from the
            hierarchy circumventing any evaluation of whether to log or not
            to log the particular log request.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
            <summary>
            Closes all attached appenders implementing the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
            </summary>
            <remarks>
            <para>
            Used to ensure that the appenders are correctly shutdown.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            This is the most generic printing method. This generic form is intended to be used by wrappers
            </summary>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.Type,log4net.Core.Level,System.Object,System.Exception)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
            the stack boundary into the logging system for this call.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            Generates a logging event and delivers it to the attached
            appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.Core.LoggingEvent)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            <para>
            Delivers the logging event to the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.declaringType">
            <summary>
            The fully qualified type of the Logger class.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
            <summary>
            The name of this logger.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
            <summary>
            The assigned level of this logger. 
            </summary>
            <remarks>
            <para>
            The <c>level</c> variable need not be 
            assigned a value in which case it is inherited 
            form the hierarchy.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
            <summary>
            The parent of this logger.
            </summary>
            <remarks>
            <para>
            The parent of this logger. 
            All loggers have at least one ancestor which is the root logger.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
            <summary>
            Loggers need to know what Hierarchy they are in.
            </summary>
            <remarks>
            <para>
            Loggers need to know what Hierarchy they are in.
            The hierarchy that this logger is a member of is stored
            here.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderAttachedImpl">
            <summary>
            Helper implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
            <summary>
            Flag indicating if child loggers inherit their parents appenders
            </summary>
            <remarks>
            <para>
            Additivity is set to true by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderLock">
            <summary>
            Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl
            </summary>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
            <summary>
            Gets or sets the parent logger in the hierarchy.
            </summary>
            <value>
            The parent logger in the hierarchy.
            </value>
            <remarks>
            <para>
            Part of the Composite pattern that makes the hierarchy.
            The hierarchy is parent linked rather than child linked.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
            <summary>
            Gets or sets a value indicating if child loggers inherit their parent's appenders.
            </summary>
            <value>
            <c>true</c> if child loggers inherit their parent's appenders.
            </value>
            <remarks>
            <para>
            Additivity is set to <c>true</c> by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
            <summary>
            Gets the effective level for this logger.
            </summary>
            <returns>The nearest level in the logger hierarchy.</returns>
            <remarks>
            <para>
            Starting from this logger, searches the logger hierarchy for a
            non-null level and returns it. Otherwise, returns the level of the
            root logger.
            </para>
            <para>The Logger class is designed so that this method executes as
            quickly as possible.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
            <summary>
            Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>The hierarchy that this logger belongs to.</value>
            <remarks>
            <para>
            This logger must be attached to a single <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Level">
            <summary>
            Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.  
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
            </value>
            <remarks>
            <para>
            The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
            <summary>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <returns>A collection of the appenders in this logger</returns>
            <remarks>
            <para>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>. If no appenders 
            can be found, then a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Name">
            <summary>
            Gets the logger name.
            </summary>
            <value>
            The name of the logger.
            </value>
            <remarks>
            <para>
            The name of this logger
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
            </value>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl.#ctor(System.String)">
            <summary>
            Construct a new Logger
            </summary>
            <param name="name">the name of the logger</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl"/> class
            with the specified name. 
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventHandler">
            <summary>
            Delegate used to handle logger creation event notifications.
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> in which the <see cref="T:log4net.Repository.Hierarchy.Logger"/> has been created.</param>
            <param name="e">The <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event args that hold the <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance that has been created.</param>
            <remarks>
            <para>
            Delegate used to handle logger creation event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs">
            <summary>
            Provides data for the <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event.
            </summary>
            <remarks>
            <para>
            A <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event is raised every time a
            <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> is created.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.LoggerCreationEventArgs.m_log">
            <summary>
            The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> created
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerCreationEventArgs.#ctor(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Constructor
            </summary>
            <param name="log">The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event argument 
            class,with the specified <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger">
            <summary>
            Gets the <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
            </value>
            <remarks>
            <para>
            The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Hierarchy">
            <summary>
            Hierarchical organization of loggers
            </summary>
            <remarks>
            <para>
            <i>The casual user should not have to deal with this class
            directly.</i>
            </para>
            <para>
            This class is specialized in retrieving loggers by name and
            also maintaining the logger hierarchy. Implements the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            </para>
            <para>
            The structure of the logger hierarchy is maintained by the
            <see cref="M:GetLogger(string)"/> method. The hierarchy is such that children
            link to their parent but parents do not have any references to their
            children. Moreover, loggers can be instantiated in any order, in
            particular descendant before ancestor.
            </para>
            <para>
            In case a descendant is created before a particular ancestor,
            then it creates a provision node for the ancestor and adds itself
            to the provision node. Other descendants of the same ancestor add
            themselves to the previously created provision node.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Repository.LoggerRepositorySkeleton">
            <summary>
            Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
            </summary>
            <remarks>
            <para>
            Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            </para>
            <para>
            Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            All <see cref="T:log4net.Repository.ILoggerRepository"/> types can extend this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Repository.ILoggerRepository">
            <summary>
            Interface implemented by logger repositories.
            </summary>
            <remarks>
            <para>
            This interface is implemented by logger repositories. e.g. 
            <see cref="N:log4net.Repository.Hierarchy"/>.
            </para>
            <para>
            This interface is used by the <see cref="T:log4net.LogManager"/>
            to obtain <see cref="T:log4net.ILog"/> interfaces.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
            <summary>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>
            If the names logger exists it is returned, otherwise
            <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers as an Array.
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>
            Returns all the currently defined loggers as an Array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
            <summary>
            Returns a named logger instance
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>
            Returns a named logger instance.
            </para>
            <para>
            If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
            <summary>Shutdown the repository</summary>
            <remarks>
            <para>
            Shutting down a repository will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            </para>
            <para>
            Some appenders need to be closed before the
            application exists. Otherwise, pending logging events might be
            lost.
            </para>
            <para>
            The <see cref="M:Shutdown()"/> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>
            Reset all values contained in this instance to their
            default state.
            </para>
            <para>
            Existing loggers are not removed. They are just reset.
            </para>
            <para>
            This method should be used sparingly and with care as it will
            block all logging until it is completed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
            <summary>
            Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
            <summary>
            Returns all the Appenders that are configured as an Array.
            </summary>
            <returns>All the Appenders</returns>
            <remarks>
            <para>
            Returns all the Appenders that are configured as an Array.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The name of the repository
            </value>
            <remarks>
            <para>
            The name of the repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>
            RendererMap accesses the object renderer map for this repository.
            </para>
            <para>
            The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
            <remarks>
            <para>
            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
            that have been attached to this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>
            Get the level map for the Repository.
            </para>
            <para>
            The level map defines the mappings between
            level names and <see cref="T:log4net.Core.Level"/> objects in
            this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            <para>
            The threshold for all events in this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
            <remarks>
            <para>
            Flag indicates if this repository has been configured.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.ConfigurationMessages">
            <summary>
            Collection of internal messages captured during the most 
            recent configuration process.
            </summary>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
            <remarks>
            <para>
            Event raised when the repository has been shutdown.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been
            reset to default.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
            <summary>
            Event to notify that the repository has had its configuration changed.
            </summary>
            <value>
            Event to notify that the repository has had its configuration changed.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been changed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Properties">
            <summary>
            Repository specific properties
            </summary>
            <value>
            Repository specific properties
            </value>
            <remarks>
            <para>
            These properties can be specified on a repository specific basis.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Initializes the repository with default (empty) properties.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
            <summary>
            Construct the repository using specific properties
            </summary>
            <param name="properties">the properties to set for this repository</param>
            <remarks>
            <para>
            Initializes the repository with specified properties.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
            <summary>
            Test if logger exists
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the repository
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>
            Returns all the currently defined loggers in the repository as an Array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
            <summary>
            Return a new logger instance
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>
            Return a new logger instance.
            </para>
            <para>
            If a logger of that name already exists, then it will be
            returned. Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
            <summary>
            Shutdown the repository
            </summary>
            <remarks>
            <para>
            Shutdown the repository. Can be overridden in a subclass.
            This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
            listeners and all attached plugins of the shutdown event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>
            Reset all values contained in this instance to their
            default state.
            </para>
            <para>
            Existing loggers are not removed. They are just reset.
            </para>
            <para>
            This method should be used sparingly and with care as it will
            block all logging until it is completed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
            <summary>
            Log the logEvent through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
            <summary>
            Returns all the Appenders that are configured as an Array.
            </summary>
            <returns>All the Appenders</returns>
            <remarks>
            <para>
            Returns all the Appenders that are configured as an Array.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.LoggerRepositorySkeleton.declaringType">
            <summary>
            The fully qualified type of the LoggerRepositorySkeleton class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Adds an object renderer for a specific class. 
            </summary>
            <param name="typeToRender">The type that will be rendered by the renderer supplied.</param>
            <param name="rendererInstance">The object renderer used to render the object.</param>
            <remarks>
            <para>
            Adds an object renderer for a specific class. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository is shutting down
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository is shutting down.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository has had its configuration reset
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository's configuration has been reset.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
            <summary>
            Notify the registered listeners that the repository has had its configuration changed
            </summary>
            <param name="e">Empty EventArgs</param>
            <remarks>
            <para>
            Notify any listeners that this repository's configuration has changed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
            <summary>
            Raise a configuration changed event on this repository
            </summary>
            <param name="e">EventArgs.Empty</param>
            <remarks>
            <para>
            Applications that programmatically change the configuration of the repository should
            raise this event notification to notify listeners.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The string name of the repository
            </value>
            <remarks>
            <para>
            The name of this repository. The name is
            used to store and lookup the repositories 
            stored by the <see cref="T:log4net.Core.IRepositorySelector"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            <para>
            The threshold for all events in this repository
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>
            RendererMap accesses the object renderer map for this repository.
            </para>
            <para>
            The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
            <remarks>
            <para>
            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
            that have been attached to this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>
            Get the level map for the Repository.
            </para>
            <para>
            The level map defines the mappings between
            level names and <see cref="T:log4net.Core.Level"/> objects in
            this repository.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
            <remarks>
            <para>
            Flag indicates if this repository has been configured.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.ConfigurationMessages">
            <summary>
            Contains a list of internal messages captures during the 
            last configuration.
            </summary>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
            <remarks>
            <para>
            Event raised when the repository has been shutdown.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationReset">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been
            reset to default.
            </para>
            </remarks>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationChanged">
            <summary>
            Event to notify that the repository has had its configuration changed.
            </summary>
            <value>
            Event to notify that the repository has had its configuration changed.
            </value>
            <remarks>
            <para>
            Event raised when the repository's configuration has been changed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
            <summary>
            Repository specific properties
            </summary>
            <value>
            Repository specific properties
            </value>
            <remarks>
            These properties can be specified on a repository specific basis
            </remarks>
        </member>
        <member name="T:log4net.Repository.IBasicRepositoryConfigurator">
            <summary>
            Basic Configurator interface for repositories
            </summary>
            <remarks>
            <para>
            Interface used by basic configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>
            with a default <see cref="T:log4net.Appender.IAppender"/>.
            </para>
            <para>
            A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
            configuration by the <see cref="T:log4net.Config.BasicConfigurator"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)">
            <summary>
            Initialize the repository using the specified appender
            </summary>
            <param name="appender">the appender to use to log all logging events</param>
            <remarks>
            <para>
            Configure the repository to route all logging events to the
            specified appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender[])">
            <summary>
            Initialize the repository using the specified appenders
            </summary>
            <param name="appenders">the appenders to use to log all logging events</param>
            <remarks>
            <para>
            Configure the repository to route all logging events to the
            specified appenders.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.IXmlRepositoryConfigurator">
            <summary>
            Configure repository using XML
            </summary>
            <remarks>
            <para>
            Interface used by Xml configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </para>
            <para>
            A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
            configuration by the <see cref="T:log4net.Config.XmlConfigurator"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Initialize the repository using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
            <remarks>
            <para>
            The schema for the XML configuration data is defined by
            the implementation.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary)">
            <summary>
            Construct with properties
            </summary>
            <param name="properties">The properties to pass to this repository.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Construct with a logger factory
            </summary>
            <param name="loggerFactory">The factory to use to create new logger instances.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
            the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary,log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Construct with properties and a logger factory
            </summary>
            <param name="properties">The properties to pass to this repository.</param>
            <param name="loggerFactory">The factory to use to create new logger instances.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
            the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Exists(System.String)">
            <summary>
            Test if a logger exists
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>
            Check if the named logger exists in the hierarchy. If so return
            its reference, otherwise returns <c>null</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the hierarchy as an Array
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>
            Returns all the currently defined loggers in the hierarchy as an Array.
            The root logger is <b>not</b> included in the returned
            enumeration.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)">
            <summary>
            Return a new logger instance named as the first parameter using
            the default factory.
            </summary>
            <remarks>
            <para>
            Return a new logger instance named as the first parameter using
            the default factory.
            </para>
            <para>
            If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.
            </para>
            </remarks>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Shutdown">
            <summary>
            Shutting down a hierarchy will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            </summary>
            <remarks>
            <para>
            Shutting down a hierarchy will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            </para>
            <para>
            Some appenders need to be closed before the
            application exists. Otherwise, pending logging events might be
            lost.
            </para>
            <para>
            The <c>Shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.ResetConfiguration">
            <summary>
            Reset all values contained in this hierarchy instance to their default.
            </summary>
            <remarks>
            <para>
            Reset all values contained in this hierarchy instance to their
            default.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set its default "off" value.
            </para>
            <para>
            Existing loggers are not removed. They are just reset.
            </para>
            <para>
            This method should be used sparingly and with care as it will
            block all logging until it is completed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Log(log4net.Core.LoggingEvent)">
            <summary>
            Log the logEvent through this hierarchy.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetAppenders">
            <summary>
            Returns all the Appenders that are currently configured
            </summary>
            <returns>An array containing all the currently configured appenders</returns>
            <remarks>
            <para>
            Returns all the <see cref="T:log4net.Appender.IAppender"/> instances that are currently configured.
            All the loggers are searched for appenders. The appenders may also be containers
            for appenders and these are also searched for additional loggers.
            </para>
            <para>
            The list returned is unordered but does not contain duplicates.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppender(System.Collections.ArrayList,log4net.Appender.IAppender)">
            <summary>
            Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/>.
            The appender may also be a container.
            </summary>
            <param name="appenderList"></param>
            <param name="appender"></param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppenders(System.Collections.ArrayList,log4net.Core.IAppenderAttachable)">
            <summary>
            Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/> container
            </summary>
            <param name="appenderList"></param>
            <param name="container"></param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender)">
            <summary>
            Initialize the log4net system using the specified appender
            </summary>
            <param name="appender">the appender to use to log all logging events</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender[])">
            <summary>
            Initialize the log4net system using the specified appenders
            </summary>
            <param name="appenders">the appenders to use to log all logging events</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.BasicRepositoryConfigure(log4net.Appender.IAppender[])">
            <summary>
            Initialize the log4net system using the specified appenders
            </summary>
            <param name="appenders">the appenders to use to log all logging events</param>
            <remarks>
            <para>
            This method provides the same functionality as the 
            <see cref="M:IBasicRepositoryConfigurator.Configure(IAppender)"/> method implemented
            on this object, but it is protected and therefore can be called by subclasses.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IXmlRepositoryConfigurator#Configure(System.Xml.XmlElement)">
            <summary>
            Initialize the log4net system using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)">
            <summary>
            Initialize the log4net system using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
            <remarks>
            <para>
            This method provides the same functionality as the 
            <see cref="M:IBasicRepositoryConfigurator.Configure(IAppender)"/> method implemented
            on this object, but it is protected and therefore can be called by subclasses.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.IsDisabled(log4net.Core.Level)">
            <summary>
            Test if this hierarchy is disabled for the specified <see cref="T:log4net.Core.Level"/>.
            </summary>
            <param name="level">The level to check against.</param>
            <returns>
            <c>true</c> if the repository is disabled for the level argument, <c>false</c> otherwise.
            </returns>
            <remarks>
            <para>
            If this hierarchy has not been configured then this method will
            always return <c>true</c>.
            </para>
            <para>
            This method will return <c>true</c> if this repository is
            disabled for <c>level</c> object passed as parameter and
            <c>false</c> otherwise.
            </para>
            <para>
            See also the <see cref="P:log4net.Repository.ILoggerRepository.Threshold"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Clear">
            <summary>
            Clear all logger definitions from the internal hashtable
            </summary>
            <remarks>
            <para>
            This call will clear all logger definitions from the internal
            hashtable. Invoking this method will irrevocably mess up the
            logger hierarchy.
            </para>
            <para>
            You should <b>really</b> know what you are doing before
            invoking this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String,log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Return a new logger instance named as the first parameter using
            <paramref name="factory"/>.
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <param name="factory">The factory that will make the new logger instance</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>
            If a logger of that name already exists, then it will be
            returned. Otherwise, a new logger will be instantiated by the
            <paramref name="factory"/> parameter and linked with its existing
            ancestors as well as children.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.OnLoggerCreationEvent(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Sends a logger creation event to all registered listeners
            </summary>
            <param name="logger">The newly created logger</param>
            <remarks>
            Raises the logger creation event.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Updates all the parents of the specified logger
            </summary>
            <param name="log">The logger to update the parents for</param>
            <remarks>
            <para>
            This method loops through all the <i>potential</i> parents of
            <paramref name="log"/>. There 3 possible cases:
            </para>
            <list type="number">
            	<item>
            		<term>No entry for the potential parent of <paramref name="log"/> exists</term>
            		<description>
            		We create a ProvisionNode for this potential 
            		parent and insert <paramref name="log"/> in that provision node.
            		</description>
            	</item>
            	<item>
            		<term>The entry is of type Logger for the potential parent.</term>
            		<description>
            		The entry is <paramref name="log"/>'s nearest existing parent. We 
            		update <paramref name="log"/>'s parent field with this entry. We also break from 
            		he loop because updating our parent's parent is our parent's 
            		responsibility.
            		</description>
            	</item>
            	<item>
            		<term>The entry is of type ProvisionNode for this potential parent.</term>
            		<description>
            		We add <paramref name="log"/> to the list of children for this 
            		potential parent.
            		</description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateChildren(log4net.Repository.Hierarchy.ProvisionNode,log4net.Repository.Hierarchy.Logger)">
            <summary>
            Replace a <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> with a <see cref="T:log4net.Repository.Hierarchy.Logger"/> in the hierarchy.
            </summary>
            <param name="pn"></param>
            <param name="log"></param>
            <remarks>
            <para>
            We update the links for all the children that placed themselves
            in the provision node 'pn'. The second argument 'log' is a
            reference for the newly created Logger, parent of all the
            children in 'pn'.
            </para>
            <para>
            We loop on all the children 'c' in 'pn'.
            </para>
            <para>
            If the child 'c' has been already linked to a child of
            'log' then there is no need to update 'c'.
            </para>
            <para>
            Otherwise, we set log's parent field to c's parent and set
            c's parent field to log.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddLevel(log4net.Repository.Hierarchy.Hierarchy.LevelEntry)">
            <summary>
            Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
            </summary>
            <param name="levelEntry">the level values</param>
            <remarks>
            <para>
            Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
            </para>
            <para>
            Supports setting levels via the configuration file.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddProperty(log4net.Util.PropertyEntry)">
            <summary>
            Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
            </summary>
            <param name="propertyEntry">the property value</param>
            <remarks>
            <para>
            Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument.
            </para>
            <para>
            Supports setting property values via the configuration file.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Hierarchy.declaringType">
            <summary>
            The fully qualified type of the Hierarchy class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent">
            <summary>
            Event used to notify that a logger has been created.
            </summary>
            <remarks>
            <para>
            Event raised when a logger is created.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning">
            <summary>
            Has no appender warning been emitted
            </summary>
            <remarks>
            <para>
            Flag to indicate if we have already issued a warning
            about not having an appender warning.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.Root">
            <summary>
            Get the root of this hierarchy
            </summary>
            <remarks>
            <para>
            Get the root of this hierarchy.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.LoggerFactory">
            <summary>
            Gets or sets the default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> instance.
            </summary>
            <value>The default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/></value>
            <remarks>
            <para>
            The logger factory is used to create logger instances.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry">
            <summary>
            A class to hold the value, name and display name for a level
            </summary>
            <remarks>
            <para>
            A class to hold the value, name and display name for a level
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.ToString">
            <summary>
            Override <c>Object.ToString</c> to return sensible debug info
            </summary>
            <returns>string info about this object</returns>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Value">
            <summary>
            Value of the level
            </summary>
            <remarks>
            <para>
            If the value is not set (defaults to -1) the value will be looked
            up for the current level with the same name.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Name">
            <summary>
            Name of the level
            </summary>
            <value>
            The name of the level
            </value>
            <remarks>
            <para>
            The name of the level.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.DisplayName">
            <summary>
            Display name for the level
            </summary>
            <value>
            The display name of the level
            </value>
            <remarks>
            <para>
            The display name of the level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerKey">
            <summary>
            Used internally to accelerate hash table searches.
            </summary>
            <remarks>
            <para>
            Internal class used to improve performance of 
            string keyed hashtables.
            </para>
            <para>
            The hashcode of the string is cached for reuse.
            The string is stored as an interned value.
            When comparing two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> objects for equality 
            the reference equality of the interned strings is compared.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
            <summary>
            Construct key with string name
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> class 
            with the specified name.
            </para>
            <para>
            Stores the hashcode of the string and interns
            the string key to optimize comparisons.
            </para>
            <note>
            The Compact Framework 1.0 the <see cref="M:System.String.Intern(System.String)"/>
            method does not work. On the Compact Framework
            the string keys are not interned nor are they
            compared by reference.
            </note>
            </remarks>
            <param name="name">The name of the logger.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
            <summary>
            Returns a hash code for the current instance.
            </summary>
            <returns>A hash code for the current instance.</returns>
            <remarks>
            <para>
            Returns the cached hashcode.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
            <summary>
            Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> instances 
            are equal.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>; otherwise, <c>false</c>.
            </returns>
            <remarks>
            <para>
            Compares the references of the interned strings.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.ProvisionNode">
            <summary>
            Provision nodes are used where no logger instance has been specified
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> instances are used in the 
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> when there is no specified 
            <see cref="T:log4net.Repository.Hierarchy.Logger"/> for that node.
            </para>
            <para>
            A provision node holds a list of child loggers on behalf of
            a logger that does not exist.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.ProvisionNode.#ctor(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Create a new provision node with child node
            </summary>
            <param name="log">A child logger to add to this node.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> class 
            with the specified child logger.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.RootLogger">
            <summary>
            The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> sits at the root of the logger hierarchy tree. 
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> is a regular <see cref="T:log4net.Repository.Hierarchy.Logger"/> except 
            that it provides several guarantees.
            </para>
            <para>
            First, it cannot be assigned a <c>null</c>
            level. Second, since the root logger cannot have a parent, the
            <see cref="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel"/> property always returns the value of the
            level field without walking the hierarchy.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.RootLogger.#ctor(log4net.Core.Level)">
            <summary>
            Construct a <see cref="T:log4net.Repository.Hierarchy.RootLogger"/>
            </summary>
            <param name="level">The level to assign to the root logger.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> class with
            the specified logging level.
            </para>
            <para>
            The root logger names itself as "root". However, the root
            logger cannot be retrieved by name.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.RootLogger.declaringType">
            <summary>
            The fully qualified type of the RootLogger class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel">
            <summary>
            Gets the assigned level value without walking the logger hierarchy.
            </summary>
            <value>The assigned level value without walking the logger hierarchy.</value>
            <remarks>
            <para>
            Because the root logger cannot have a parent and its level
            must not be <c>null</c> this property just returns the
            value of <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.RootLogger.Level">
            <summary>
            Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> for the root logger.  
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> of the root logger.
            </value>
            <remarks>
            <para>
            Setting the level of the root logger to a <c>null</c> reference
            may have catastrophic results. We prevent this here.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator">
            <summary>
            Initializes the log4net environment using an XML DOM.
            </summary>
            <remarks>
            <para>
            Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
            <summary>
            Construct the configurator for a hierarchy
            </summary>
            <param name="hierarchy">The hierarchy to build.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator"/> class
            with the specified <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configure the hierarchy by parsing a DOM tree of XML elements.
            </summary>
            <param name="element">The root element to parse.</param>
            <remarks>
            <para>
            Configure the hierarchy by parsing a DOM tree of XML elements.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
            <summary>
            Parse appenders by IDREF.
            </summary>
            <param name="appenderRef">The appender ref element.</param>
            <returns>The instance of the appender that the ref refers to.</returns>
            <remarks>
            <para>
            Parse an XML element that represents an appender and return 
            the appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
            <summary>
            Parses an appender element.
            </summary>
            <param name="appenderElement">The appender element.</param>
            <returns>The appender instance or <c>null</c> when parsing failed.</returns>
            <remarks>
            <para>
            Parse an XML element that represents an appender and return
            the appender instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
            <summary>
            Parses a logger element.
            </summary>
            <param name="loggerElement">The logger element.</param>
            <remarks>
            <para>
            Parse an XML element that represents a logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
            <summary>
            Parses the root logger element.
            </summary>
            <param name="rootElement">The root element.</param>
            <remarks>
            <para>
            Parse an XML element that represents the root logger.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses the children of a logger element.
            </summary>
            <param name="catElement">The category element.</param>
            <param name="log">The logger instance.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
            <remarks>
            <para>
            Parse the child elements of a &lt;logger&gt; element.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
            <summary>
            Parses an object renderer.
            </summary>
            <param name="element">The renderer element.</param>
            <remarks>
            <para>
            Parse an XML element that represents a renderer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses a level element.
            </summary>
            <param name="element">The level element.</param>
            <param name="log">The logger object to set the level on.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
            <remarks>
            <para>
            Parse an XML element that represents a level.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
            <summary>
            Sets a parameter on an object.
            </summary>
            <param name="element">The parameter element.</param>
            <param name="target">The object to set the parameter on.</param>
            <remarks>
            The parameter name must correspond to a writable property
            on the object. The value of the parameter is a string,
            therefore this function will attempt to set a string
            property first. If unable to set a string property it
            will inspect the property and its argument type. It will
            attempt to call a static method called <c>Parse</c> on the
            type of the property. This method will take a single
            string argument and return a value that can be used to
            set the property.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.HasAttributesOrElements(System.Xml.XmlElement)">
            <summary>
            Test if an element has no attributes or child elements
            </summary>
            <param name="element">the element to inspect</param>
            <returns><c>true</c> if the element has any attributes or child elements, <c>false</c> otherwise</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.IsTypeConstructible(System.Type)">
            <summary>
            Test if a <see cref="T:System.Type"/> is constructible with <c>Activator.CreateInstance</c>.
            </summary>
            <param name="type">the type to inspect</param>
            <returns><c>true</c> if the type is creatable using a default constructor, <c>false</c> otherwise</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindMethodInfo(System.Type,System.String)">
            <summary>
            Look for a method on the <paramref name="targetType"/> that matches the <paramref name="name"/> supplied
            </summary>
            <param name="targetType">the type that has the method</param>
            <param name="name">the name of the method</param>
            <returns>the method info found</returns>
            <remarks>
            <para>
            The method must be a public instance method on the <paramref name="targetType"/>.
            The method must be named <paramref name="name"/> or "Add" followed by <paramref name="name"/>.
            The method must take a single parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string value to a target type.
            </summary>
            <param name="type">The type of object to convert the string to.</param>
            <param name="value">The string value to use as the value of the object.</param>
            <returns>
            <para>
            An object of type <paramref name="type"/> with value <paramref name="value"/> or 
            <c>null</c> when the conversion could not be performed.
            </para>
            </returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
            <summary>
            Creates an object as specified in XML.
            </summary>
            <param name="element">The XML element that contains the definition of the object.</param>
            <param name="defaultTargetType">The object type to use if not explicitly specified.</param>
            <param name="typeConstraint">The type that the returned object must be or must inherit from.</param>
            <returns>The object or <c>null</c></returns>
            <remarks>
            <para>
            Parse an XML element and create an object instance based on the configuration
            data.
            </para>
            <para>
            The type of the instance may be specified in the XML. If not
            specified then the <paramref name="defaultTargetType"/> is used
            as the type. However the type is specified it must support the
            <paramref name="typeConstraint"/> type.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_appenderBag">
            <summary>
            key: appenderName, value: appender.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_hierarchy">
            <summary>
            The Hierarchy being configured.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.declaringType">
            <summary>
            The fully qualified type of the XmlHierarchyConfigurator class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Repository.ConfigurationChangedEventArgs">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Repository.ConfigurationChangedEventArgs.#ctor(System.Collections.ICollection)">
            <summary>
            
            </summary>
            <param name="configurationMessages"></param>
        </member>
        <member name="P:log4net.Repository.ConfigurationChangedEventArgs.ConfigurationMessages">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
            <summary>
            Delegate used to handle logger repository shutdown event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down.</param>
            <param name="e">Empty event args</param>
            <remarks>
            <para>
            Delegate used to handle logger repository shutdown event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
            <summary>
            Delegate used to handle logger repository configuration reset event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration reset.</param>
            <param name="e">Empty event args</param>
            <remarks>
            <para>
            Delegate used to handle logger repository configuration reset event notifications.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryConfigurationChangedEventHandler">
            <summary>
            Delegate used to handle event notifications for logger repository configuration changes.
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration changed.</param>
            <param name="e">Empty event arguments.</param>
            <remarks>
            <para>
            Delegate used to handle event notifications for logger repository configuration changes.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.AppDomainPatternConverter">
            <summary>
            Write the name of the current AppDomain to the output
            </summary>
            <remarks>
            <para>
            Write the name of the current AppDomain to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.AppDomainPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the name of the current AppDomain to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes name of the current AppDomain to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.DatePatternConverter">
            <summary>
            Write the current date to the output
            </summary>
            <remarks>
            <para>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the current date and time to the writer as a string.
            </para>
            <para>
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the formatting of the date. The following values are allowed:
            <list type="definition">
            	<listheader>
            		<term>Option value</term>
            		<description>Output</description>
            	</listheader>
            	<item>
            		<term>ISO8601</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
            		Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
            		</description>
            	</item>
            	<item>
            		<term>DATE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
            		Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>ABSOLUTE</term>
            		<description>
            		Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
            		Formats using the <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
            		This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
            		<see cref="M:DateTime.ToString(string)"/> method.
            		For details on valid patterns see 
            		<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
            		</description>
            	</item>
            </list>
            </para>
            <para>
            The date and time is in the local time zone and is rendered in that zone.
            To output the time in Universal time see <see cref="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.m_dateFormatter">
            <summary>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current date to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The date and time passed is in the local time zone.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the DatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter">
            <summary>
            Write an <see cref="T:System.Environment.SpecialFolder"/> folder path to the output
            </summary>
            <remarks>
            <para>
            Write an special path environment folder path to the output writer.
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the name of the variable to output. <see cref="P:log4net.Util.PatternConverter.Option"/>
            should be a value in the <see cref="T:System.Environment.SpecialFolder"/> enumeration.
            </para>
            </remarks>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write an special path environment folder path to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes the special path environment folder path to the output <paramref name="writer"/>.
            The name of the special path environment folder path to output must be set
            using the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.declaringType">
            <summary>
            The fully qualified type of the EnvironmentFolderPathPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.EnvironmentPatternConverter">
            <summary>
            Write an environment variable to the output
            </summary>
            <remarks>
            <para>
            Write an environment variable to the output writer.
            The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
            the name of the variable to output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write an environment variable to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes the environment variable to the output <paramref name="writer"/>.
            The name of the environment variable to output must be set
            using the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.declaringType">
            <summary>
            The fully qualified type of the EnvironmentPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.IdentityPatternConverter">
            <summary>
            Write the current thread identity to the output
            </summary>
            <remarks>
            <para>
            Write the current thread identity to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.IdentityPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current thread identity to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes the current thread identity to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.IdentityPatternConverter.declaringType">
            <summary>
            The fully qualified type of the IdentityPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.LiteralPatternConverter">
            <summary>
            Pattern converter for literal string instances in the pattern
            </summary>
            <remarks>
            <para>
            Writes the literal string value specified in the 
            <see cref="P:log4net.Util.PatternConverter.Option"/> property to 
            the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.SetNext(log4net.Util.PatternConverter)">
            <summary>
            Set the next converter in the chain
            </summary>
            <param name="pc">The next pattern converter in the chain</param>
            <returns>The next pattern converter</returns>
            <remarks>
            <para>
            Special case the building of the pattern converter chain
            for <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> instances. Two adjacent
            literals in the pattern can be represented by a single combined
            pattern converter. This implementation detects when a 
            <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> is added to the chain
            after this converter and combines its value with this converter's
            literal value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Format(System.IO.TextWriter,System.Object)">
            <summary>
            Write the literal to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, not set</param>
            <remarks>
            <para>
            Override the formatting behavior to ignore the FormattingInfo
            because we have a literal instead.
            </para>
            <para>
            Writes the value of <see cref="P:log4net.Util.PatternConverter.Option"/>
            to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Convert this pattern into the rendered message
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, not set</param>
            <remarks>
            <para>
            This method is not used.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.NewLinePatternConverter">
            <summary>
            Writes a newline to the output
            </summary>
            <remarks>
            <para>
            Writes the system dependent line terminator to the output.
            This behavior can be overridden by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>:
            </para>
            <list type="definition">
              <listheader>
                <term>Option Value</term>
                <description>Output</description>
              </listheader>
              <item>
                <term>DOS</term>
                <description>DOS or Windows line terminator <c>"\r\n"</c></description>
              </item>
              <item>
                <term>UNIX</term>
                <description>UNIX line terminator <c>"\n"</c></description>
              </item>
            </list>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions">
            <summary>
            Initialize the converter
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.ProcessIdPatternConverter">
            <summary>
            Write the current process ID to the output
            </summary>
            <remarks>
            <para>
            Write the current process ID to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current process ID to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Write the current process ID to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.declaringType">
            <summary>
            The fully qualified type of the ProcessIdPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.PropertyPatternConverter">
            <summary>
            Property pattern converter
            </summary>
            <remarks>
            <para>
            This pattern converter reads the thread and global properties.
            The thread properties take priority over global properties.
            See <see cref="P:log4net.ThreadContext.Properties"/> for details of the 
            thread properties. See <see cref="P:log4net.GlobalContext.Properties"/> for
            details of the global properties.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is specified then that will be used to
            lookup a single property. If no <see cref="P:log4net.Util.PatternConverter.Option"/> is specified
            then all properties will be dumped as a list of key value pairs.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.PropertyPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the property value to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Writes out the value of a named property. The property name
            should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
            property.
            </para>
            <para>
            If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
            then all the properties are written as key value pairs.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.RandomStringPatternConverter">
            <summary>
            A Pattern converter that generates a string of random characters
            </summary>
            <remarks>
            <para>
            The converter generates a string of random characters. By default
            the string is length 4. This can be changed by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>
            to the string value of the length required.
            </para>
            <para>
            The random characters in the string are limited to uppercase letters
            and numbers only.
            </para>
            <para>
            The random number generator used by this class is not cryptographically secure.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.s_random">
            <summary>
            Shared random number generator
            </summary>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.m_length">
            <summary>
            Length of random string to generate. Default length 4.
            </summary>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions">
            <summary>
            Initialize the converter options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write a randoim string to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Write a randoim string to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.declaringType">
            <summary>
            The fully qualified type of the RandomStringPatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.UserNamePatternConverter">
            <summary>
            Write the current threads username to the output
            </summary>
            <remarks>
            <para>
            Write the current threads username to the output writer
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.UserNamePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current threads username to the output
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Write the current threads username to the output <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.UserNamePatternConverter.declaringType">
            <summary>
            The fully qualified type of the UserNamePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter">
            <summary>
            Write the UTC date time to the output
            </summary>
            <remarks>
            <para>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
            the current date and time in Universal time.
            </para>
            <para>
            See the <see cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/> for details on the date pattern syntax.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.PatternStringConverters.UtcDatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
            <summary>
            Write the current date and time to the output
            </summary>
            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
            <param name="state">null, state is not set</param>
            <remarks>
            <para>
            Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
            for it to render it to the writer.
            </para>
            <para>
            The date is in Universal time when it is rendered.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
        </member>
        <member name="F:log4net.Util.PatternStringConverters.UtcDatePatternConverter.declaringType">
            <summary>
            The fully qualified type of the UtcDatePatternConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.BooleanConverter">
            <summary>
            Type converter for Boolean.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <c>bool</c> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Uses the <see cref="M:System.Boolean.Parse(System.String)"/> method to convert the
            <see cref="T:System.String"/> argument to a <see cref="T:System.Boolean"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            <summary>
            Exception base type for conversion errors.
            </summary>
            <remarks>
            <para>
            This type extends <see cref="T:System.ApplicationException"/>. It
            does not add any new functionality but does differentiate the
            type of exception being thrown.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
            with the specified message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
            <param name="message">A message to include with the exception.</param>
            <param name="innerException">A nested exception to include.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
            with the specified message and inner exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object)">
            <summary>
            Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
            </summary>
            <param name="destinationType">The conversion destination type.</param>
            <param name="sourceValue">The value to convert.</param>
            <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/>.</returns>
            <remarks>
            <para>
            Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object,System.Exception)">
            <summary>
            Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
            </summary>
            <param name="destinationType">The conversion destination type.</param>
            <param name="sourceValue">The value to convert.</param>
            <param name="innerException">A nested exception to include.</param>
            <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/>.</returns>
            <remarks>
            <para>
            Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.ConverterRegistry">
            <summary>
            Register of type converters for specific types.
            </summary>
            <remarks>
            <para>
            Maintains a registry of type converters used to convert between
            types.
            </para>
            <para>
            Use the <see cref="M:AddConverter(Type, object)"/> and 
            <see cref="M:AddConverter(Type, Type)"/> methods to register new converters.
            The <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)"/> and <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)"/> methods
            lookup appropriate converters to use.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#ctor">
            <summary>
            Private constructor
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConverterRegistry"/> class.
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#cctor">
            <summary>
            Static constructor.
            </summary>
            <remarks>
            <para>
            This constructor defines the intrinsic type converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converter">The type converter to use to convert to the destination type.</param>
            <remarks>
            <para>
            Adds a converter instance for a specific type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converterType">The type of the type converter to use to convert to the destination type.</param>
            <remarks>
            <para>
            Adds a converter <see cref="T:System.Type"/> for a specific type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)">
            <summary>
            Gets the type converter to use to convert values to the destination type.
            </summary>
            <param name="sourceType">The type being converted from.</param>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            Gets the type converter to use to convert values to the destination type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)">
            <summary>
            Gets the type converter to use to convert values to the destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            Gets the type converter to use to convert values to the destination type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
            <summary>
            Lookups the type converter to use as specified by the attributes on the 
            destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
        </member>
        <member name="M:log4net.Util.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
            <summary>
            Creates the instance of the type converter.
            </summary>
            <param name="converterType">The type of the type converter.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
            <remarks>
            <para>
            The type specified for the type converter must implement 
            the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> or <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces 
            and must have a public default (no argument) constructor.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.TypeConverters.ConverterRegistry.declaringType">
            <summary>
            The fully qualified type of the ConverterRegistry class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Util.TypeConverters.ConverterRegistry.s_type2converter">
            <summary>
            Mapping from <see cref="T:System.Type"/> to type converter.
            </summary>
        </member>
        <member name="T:log4net.Util.TypeConverters.EncodingConverter">
            <summary>
            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to an encoding</param>
            <returns>the encoding</returns>
            <remarks>
            <para>
            Uses the <see cref="M:Encoding.GetEncoding(string)"/> method to 
            convert the <see cref="T:System.String"/> argument to an <see cref="T:System.Text.Encoding"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.TypeConverters.IConvertTo">
            <summary>
            Interface supported by type converters
            </summary>
            <remarks>
            <para>
            This interface supports conversion from a single type to arbitrary types.
            See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type
            </summary>
            <param name="targetType">A Type that represents the type you want to convert to</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Test if the type supported by this converter can be converted to the
            <paramref name="targetType"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the arguments
            </summary>
            <param name="source">the object to convert</param>
            <param name="targetType">The Type to convert the value parameter to</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Converts the <paramref name="source"/> (which must be of the type supported
            by this converter) to the <paramref name="targetType"/> specified..
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.TypeConverters.IPAddressConverter">
            <summary>
            Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.IPAddressConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to an IPAddress</param>
            <returns>the IPAddress</returns>
            <remarks>
            <para>
            Uses the <see cref="M:System.Net.IPAddress.Parse(System.String)"/> method to convert the
            <see cref="T:System.String"/> argument to an <see cref="T:System.Net.IPAddress"/>.
            If that fails then the string is resolved as a DNS hostname.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="F:log4net.Util.TypeConverters.IPAddressConverter.validIpAddressChars">
            <summary>
            Valid characters in an IPv4 or IPv6 address string. (Does not support subnets)
            </summary>
        </member>
        <member name="T:log4net.Util.TypeConverters.PatternLayoutConverter">
            <summary>
            Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
            </para>
            <para>
            The string is used as the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/> 
            of the <see cref="T:log4net.Layout.PatternLayout"/>.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to a PatternLayout</param>
            <returns>the PatternLayout</returns>
            <remarks>
            <para>
            Creates and returns a new <see cref="T:log4net.Layout.PatternLayout"/> using
            the <paramref name="source"/> <see cref="T:System.String"/> as the
            <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.TypeConverters.PatternStringConverter">
            <summary>
            Convert between string and <see cref="T:log4net.Util.PatternString"/>
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:log4net.Util.PatternString"/> type, 
            and from a <see cref="T:log4net.Util.PatternString"/> type to a string.
            </para>
            <para>
            The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/> 
            of the <see cref="T:log4net.Util.PatternString"/>.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
            <summary>
            Can the target type be converted to the type supported by this object
            </summary>
            <param name="targetType">A <see cref="T:System.Type"/> that represents the type you want to convert to</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="targetType"/> is
            assignable from a <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertTo(System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the arguments
            </summary>
            <param name="source">the object to convert</param>
            <param name="targetType">The Type to convert the value parameter to</param>
            <returns>the converted object</returns>
            <remarks>
            <para>
            Uses the <see cref="M:PatternString.Format()"/> method to convert the
            <see cref="T:log4net.Util.PatternString"/> argument to a <see cref="T:System.String"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            <paramref name="targetType"/>. To check for this condition use the 
            <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)"/> method.
            </exception>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to a PatternString</param>
            <returns>the PatternString</returns>
            <remarks>
            <para>
            Creates and returns a new <see cref="T:log4net.Util.PatternString"/> using
            the <paramref name="source"/> <see cref="T:System.String"/> as the
            <see cref="P:log4net.Util.PatternString.ConversionPattern"/>.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.TypeConverters.TypeConverter">
            <summary>
            Supports conversion from string to <see cref="T:System.Type"/> type.
            </summary>
            <remarks>
            <para>
            Supports conversion from string to <see cref="T:System.Type"/> type.
            </para>
            </remarks>
            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
            <remarks>
            <para>
            Returns <c>true</c> if the <paramref name="sourceType"/> is
            the <see cref="T:System.String"/> type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to a Type</param>
            <returns>the Type</returns>
            <remarks>
            <para>
            Uses the <see cref="M:Type.GetType(string,bool)"/> method to convert the
            <see cref="T:System.String"/> argument to a <see cref="T:System.Type"/>.
            Additional effort is made to locate partially specified types
            by searching the loaded assemblies.
            </para>
            </remarks>
            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
            The <paramref name="source"/> object cannot be converted to the
            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)"/>
            method.
            </exception>
        </member>
        <member name="T:log4net.Util.TypeConverters.TypeConverterAttribute">
            <summary>
            Attribute used to associate a type converter
            </summary>
            <remarks>
            <para>
            Class and Interface level attribute that specifies a type converter
            to use with the associated type.
            </para>
            <para>
            To associate a type converter with a target type apply a
            <c>TypeConverterAttribute</c> to the target type. Specify the
            type of the type converter on the attribute.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.TypeConverters.TypeConverterAttribute.m_typeName">
            <summary>
            The string type name of the type converter
            </summary>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
            <summary>
            Create a new type converter attribute for the specified type name
            </summary>
            <param name="typeName">The string type name of the type converter</param>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
            <summary>
            Create a new type converter attribute for the specified type
            </summary>
            <param name="converterType">The type of the type converter</param>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TypeConverters.TypeConverterAttribute.ConverterTypeName">
            <summary>
            The string type name of the type converter 
            </summary>
            <value>
            The string type name of the type converter 
            </value>
            <remarks>
            <para>
            The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
            or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.AppenderAttachedImpl">
            <summary>
            A straightforward implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
            </summary>
            <remarks>
            <para>
            This is the default implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/>
            interface. Implementors of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
            should aggregate an instance of this type.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.AppenderAttachedImpl"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent)">
            <summary>
            Append on on all attached appenders.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <returns>The number of appenders called.</returns>
            <remarks>
            <para>
            Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
            attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent[])">
            <summary>
            Append on on all attached appenders.
            </summary>
            <param name="loggingEvents">The array of events being logged.</param>
            <returns>The number of appenders called.</returns>
            <remarks>
            <para>
            Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
            attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.CallAppend(log4net.Appender.IAppender,log4net.Core.LoggingEvent[])">
            <summary>
            Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender"/> with 
            the <see cref="T:log4net.Core.LoggingEvent"/> objects supplied.
            </summary>
            <param name="appender">The appender</param>
            <param name="loggingEvents">The events</param>
            <remarks>
            <para>
            If the <paramref name="appender"/> supports the <see cref="T:log4net.Appender.IBulkAppender"/>
            interface then the <paramref name="loggingEvents"/> will be passed 
            through using that interface. Otherwise the <see cref="T:log4net.Core.LoggingEvent"/>
            objects in the array will be passed one at a time.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="newAppender">The appender to add.</param>
            <remarks>
            <para>
            If the appender is already in the list it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
            <remarks>
            <para>
            Lookup an attached appender by name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
            <remarks>
            <para>
            Removes and closes all attached appenders
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
            <returns>The appender removed from the list</returns>
            <remarks>
            <para>
            The appender removed is not closed.
            If you are discarding the appender you must call
            <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderList">
            <summary>
            List of appenders
            </summary>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderArray">
            <summary>
            Array of appenders, used to cache the m_appenderList
            </summary>
        </member>
        <member name="F:log4net.Util.AppenderAttachedImpl.declaringType">
            <summary>
            The fully qualified type of the AppenderAttachedImpl class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.AppenderAttachedImpl.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <returns>
            A collection of attached appenders, or <c>null</c> if there
            are no attached appenders.
            </returns>
            <remarks>
            <para>
            The read only collection of all currently attached appenders.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.CompositeProperties">
            <summary>
            This class aggregates several PropertiesDictionary collections together.
            </summary>
            <remarks>
            <para>
            Provides a dictionary style lookup over an ordered list of
            <see cref="T:log4net.Util.PropertiesDictionary"/> collections.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.CompositeProperties.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.CompositeProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CompositeProperties.Add(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Add a Properties Dictionary to this composite collection
            </summary>
            <param name="properties">the properties to add</param>
            <remarks>
            <para>
            Properties dictionaries added first take precedence over dictionaries added
            later.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CompositeProperties.Flatten">
            <summary>
            Flatten this composite collection into a single properties dictionary
            </summary>
            <returns>the flattened dictionary</returns>
            <remarks>
            <para>
            Reduces the collection of ordered dictionaries to a single dictionary
            containing the resultant values for the keys.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CompositeProperties.Item(System.String)">
            <summary>
            Gets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Looks up the value for the <paramref name="key"/> specified.
            The <see cref="T:log4net.Util.PropertiesDictionary"/> collections are searched
            in the order in which they were added to this collection. The value
            returned is the value held by the first collection that contains
            the specified key.
            </para>
            <para>
            If none of the collections contain the specified key then
            <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ContextPropertiesBase">
            <summary>
            Base class for Context Properties implementations
            </summary>
            <remarks>
            <para>
            This class defines a basic property get set accessor
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Gets or sets the value of a property
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ConverterInfo">
            <summary>
            Wrapper class used to map converter names to converter types
            </summary>
            <remarks>
            <para>
            Pattern converter info class used during configuration by custom
            PatternString and PatternLayer converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ConverterInfo.#ctor">
            <summary>
            default constructor
            </summary>
        </member>
        <member name="M:log4net.Util.ConverterInfo.AddProperty(log4net.Util.PropertyEntry)">
            <summary>
            
            </summary>
            <param name="entry"></param>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Name">
            <summary>
            Gets or sets the name of the conversion pattern
            </summary>
            <remarks>
            <para>
            The name of the pattern in the format string
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Type">
            <summary>
            Gets or sets the type of the converter
            </summary>
            <remarks>
            <para>
            The value specified must extend the 
            <see cref="T:log4net.Util.PatternConverter"/> type.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ConverterInfo.Properties">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.CountingQuietTextWriter">
            <summary>
            Subclass of <see cref="T:log4net.Util.QuietTextWriter"/> that maintains a count of 
            the number of bytes written.
            </summary>
            <remarks>
            <para>
            This writer counts the number of bytes written.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.QuietTextWriter">
            <summary>
            <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Util.QuietTextWriter"/> does not throw exceptions when things go wrong. 
            Instead, it delegates error handling to its <see cref="T:log4net.Core.IErrorHandler"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.TextWriterAdapter">
            <summary>
            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            <para>
            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.TextWriterAdapter.m_writer">
            <summary>
            The writer to forward messages to
            </summary>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
            <summary>
            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
            messages to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
            <remarks>
            <para>
            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
            messages to a <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Close">
            <summary>
            Closes the writer and releases any system resources associated with the writer
            </summary>
            <remarks>
            <para>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
            <summary>
            Dispose this writer
            </summary>
            <param name="disposing">flag indicating if we are being disposed</param>
            <remarks>
            <para>
            Dispose this writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Flush">
            <summary>
            Flushes any buffered output
            </summary>
            <remarks>
            <para>
            Clears all buffers for the writer and causes any buffered data to be written 
            to the underlying device
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
            <summary>
            Writes a character to the wrapped TextWriter
            </summary>
            <param name="value">the value to write to the TextWriter</param>
            <remarks>
            <para>
            Writes a character to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a character buffer to the wrapped TextWriter
            </summary>
            <param name="buffer">the data buffer</param>
            <param name="index">the start index</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Writes a character buffer to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
            <summary>
            Writes a string to the wrapped TextWriter
            </summary>
            <param name="value">the value to write to the TextWriter</param>
            <remarks>
            <para>
            Writes a string to the wrapped TextWriter
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.Writer">
            <summary>
            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.IO.TextWriter"/>.
            </value>
            <remarks>
            <para>
            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.Encoding">
            <summary>
            The Encoding in which the output is written
            </summary>
            <value>
            The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
            </value>
            <remarks>
            <para>
            The Encoding in which the output is written
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
            <summary>
            Gets an object that controls formatting
            </summary>
            <value>
            The format provider
            </value>
            <remarks>
            <para>
            Gets an object that controls formatting
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.TextWriterAdapter.NewLine">
            <summary>
            Gets or sets the line terminator string used by the TextWriter
            </summary>
            <value>
            The line terminator to use
            </value>
            <remarks>
            <para>
            Gets or sets the line terminator string used by the TextWriter
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
            <summary>
            Constructor
            </summary>
            <param name="writer">the writer to actually write to</param>
            <param name="errorHandler">the error handler to report error to</param>
            <remarks>
            <para>
            Create a new QuietTextWriter using a writer and error handler
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
            <summary>
            Writes a character to the underlying writer
            </summary>
            <param name="value">the char to write</param>
            <remarks>
            <para>
            Writes a character to the underlying writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the underlying writer
            </summary>
            <param name="buffer">the buffer to write</param>
            <param name="index">the start index to write from</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Writes a buffer to the underlying writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output.
            </summary>
            <param name="value">The string data to write to the output.</param>
            <remarks>
            <para>
            Writes a string to the output.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.QuietTextWriter.Close">
            <summary>
            Closes the underlying output writer.
            </summary>
            <remarks>
            <para>
            Closes the underlying output writer.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
            <summary>
            The error handler instance to pass all errors to
            </summary>
        </member>
        <member name="F:log4net.Util.QuietTextWriter.m_closed">
            <summary>
            Flag to indicate if this writer is closed
            </summary>
        </member>
        <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
            <summary>
            Gets or sets the error handler that all errors are passed to.
            </summary>
            <value>
            The error handler that all errors are passed to.
            </value>
            <remarks>
            <para>
            Gets or sets the error handler that all errors are passed to.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.QuietTextWriter.Closed">
            <summary>
            Gets a value indicating whether this writer is closed.
            </summary>
            <value>
            <c>true</c> if this writer is closed, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            Gets a value indicating whether this writer is closed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
            <summary>
            Constructor
            </summary>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to actually write to.</param>
            <param name="errorHandler">The <see cref="T:log4net.Core.IErrorHandler"/> to report errors to.</param>
            <remarks>
            <para>
            Creates a new instance of the <see cref="T:log4net.Util.CountingQuietTextWriter"/> class 
            with the specified <see cref="T:System.IO.TextWriter"/> and <see cref="T:log4net.Core.IErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char)">
            <summary>
            Writes a character to the underlying writer and counts the number of bytes written.
            </summary>
            <param name="value">the char to write</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the underlying writer and counts the number of bytes written.
            </summary>
            <param name="buffer">the buffer to write</param>
            <param name="index">the start index to write from</param>
            <param name="count">the number of characters to write</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output and counts the number of bytes written.
            </summary>
            <param name="str">The string data to write to the output.</param>
            <remarks>
            <para>
            Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
            the number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.CountingQuietTextWriter.m_countBytes">
            <summary>
            Total number of bytes written.
            </summary>
        </member>
        <member name="P:log4net.Util.CountingQuietTextWriter.Count">
            <summary>
            Gets or sets the total number of bytes written.
            </summary>
            <value>
            The total number of bytes written.
            </value>
            <remarks>
            <para>
            Gets or sets the total number of bytes written.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.CyclicBuffer">
            <summary>
            A fixed size rolling buffer of logging events.
            </summary>
            <remarks>
            <para>
            An array backed fixed size leaky bucket.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="maxSize">The maximum number of logging events in the buffer.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.CyclicBuffer"/> class with 
            the specified maximum number of buffered logging events.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.Append(log4net.Core.LoggingEvent)">
            <summary>
            Appends a <paramref name="loggingEvent"/> to the buffer.
            </summary>
            <param name="loggingEvent">The event to append to the buffer.</param>
            <returns>The event discarded from the buffer, if the buffer is full, otherwise <c>null</c>.</returns>
            <remarks>
            <para>
            Append an event to the buffer. If the buffer still contains free space then
            <c>null</c> is returned. If the buffer is full then an event will be dropped
            to make space for the new event, the event dropped is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.PopOldest">
            <summary>
            Get and remove the oldest event in the buffer.
            </summary>
            <returns>The oldest logging event in the buffer</returns>
            <remarks>
            <para>
            Gets the oldest (first) logging event in the buffer and removes it 
            from the buffer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.PopAll">
            <summary>
            Pops all the logging events from the buffer into an array.
            </summary>
            <returns>An array of all the logging events in the buffer.</returns>
            <remarks>
            <para>
            Get all the events in the buffer and clear the buffer.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.CyclicBuffer.Clear">
            <summary>
            Clear the buffer
            </summary>
            <remarks>
            <para>
            Clear the buffer of all events. The events in the buffer are lost.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.Item(System.Int32)">
            <summary>
            Gets the <paramref name="i"/>th oldest event currently in the buffer.
            </summary>
            <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
            <remarks>
            <para>
            If <paramref name="i"/> is outside the range 0 to the number of events
            currently in the buffer, then <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.MaxSize">
            <summary>
            Gets the maximum size of the buffer.
            </summary>
            <value>The maximum size of the buffer.</value>
            <remarks>
            <para>
            Gets the maximum size of the buffer
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.CyclicBuffer.Length">
            <summary>
            Gets the number of logging events in the buffer.
            </summary>
            <value>The number of logging events in the buffer.</value>
            <remarks>
            <para>
            This number is guaranteed to be in the range 0 to <see cref="P:log4net.Util.CyclicBuffer.MaxSize"/>
            (inclusive).
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.EmptyCollection">
            <summary>
            An always empty <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.ICollection"/>
            interface that always represents an empty collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.EmptyCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.EmptyCollection"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
            <see cref="T:System.Array"/>, starting at a particular Array index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> 
            that is the destination of the elements copied from 
            <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in array at which 
            copying begins.</param>
            <remarks>
            <para>
            As the collection is empty no values are copied into the array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.EmptyCollection.s_instance">
            <summary>
            The singleton instance of the empty collection.
            </summary>
        </member>
        <member name="P:log4net.Util.EmptyCollection.Instance">
            <summary>
            Gets the singleton instance of the empty collection.
            </summary>
            <returns>The singleton instance of the empty collection.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the empty collection.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.IsSynchronized">
            <summary>
            Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
            </summary>
            <value>
            <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
            </value>
            <remarks>
            <para>
            For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty the <see cref="P:log4net.Util.EmptyCollection.Count"/> is always <c>0</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty and thread safe and synchronized this instance is also
            the <see cref="P:log4net.Util.EmptyCollection.SyncRoot"/> object.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.EmptyDictionary">
            <summary>
            An always empty <see cref="T:System.Collections.IDictionary"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.IDictionary"/>
            interface that always represents an empty collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.EmptyDictionary"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
            <see cref="T:System.Array"/>, starting at a particular Array index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> 
            that is the destination of the elements copied from 
            <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in array at which 
            copying begins.</param>
            <remarks>
            <para>
            As the collection is empty no values are copied into the array.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the 
            <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
            <remarks>
            <para>
            As the collection is empty no new values can be added. A <see cref="T:System.InvalidOperationException"/>
            is thrown if this method is called.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.Clear">
            <summary>
            Removes all elements from the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <remarks>
            <para>
            As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
            is thrown if this method is called.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:log4net.Util.EmptyDictionary"/> contains an element 
            with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:log4net.Util.EmptyDictionary"/>.</param>
            <returns><c>false</c></returns>
            <remarks>
            <para>
            As the collection is empty the <see cref="M:log4net.Util.EmptyDictionary.Contains(System.Object)"/> method always returns <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.EmptyDictionary.Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <remarks>
            <para>
            As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
            is thrown if this method is called.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
        </member>
        <member name="F:log4net.Util.EmptyDictionary.s_instance">
            <summary>
            The singleton instance of the empty dictionary.
            </summary>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.Instance">
            <summary>
            Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.IsSynchronized">
            <summary>
            Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
            </summary>
            <value>
            <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
            </value>
            <remarks>
            <para>
            For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <b>true</b>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>
            </summary>
            <value>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty the <see cref="P:log4net.Util.EmptyDictionary.Count"/> is always <c>0</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </value>
            <remarks>
            <para>
            As the collection is empty and thread safe and synchronized this instance is also
            the <see cref="P:log4net.Util.EmptyDictionary.SyncRoot"/> object.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> has a fixed size.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsFixedSize"/> always returns <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> is read-only.
            </summary>
            <value><c>true</c></value>
            <remarks>
            <para>
            As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsReadOnly"/> always returns <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.Values">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
            <remarks>
            <para>
            As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.EmptyDictionary.Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key of the element to get or set.</param>
            <value><c>null</c></value>
            <remarks>
            <para>
            As the collection is empty no values can be looked up or stored. 
            If the index getter is called then <c>null</c> is returned.
            A <see cref="T:System.InvalidOperationException"/> is thrown if the setter is called.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
        </member>
        <member name="T:log4net.Util.FormattingInfo">
            <summary>
            Contain the information obtained when parsing formatting modifiers 
            in conversion modifiers.
            </summary>
            <remarks>
            <para>
            Holds the formatting information extracted from the format string by
            the <see cref="T:log4net.Util.PatternParser"/>. This is used by the <see cref="T:log4net.Util.PatternConverter"/>
            objects when rendering the output.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.FormattingInfo.#ctor">
            <summary>
            Defaut Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.FormattingInfo.#ctor(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class
            with the specified parameters.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.Min">
            <summary>
            Gets or sets the minimum value.
            </summary>
            <value>
            The minimum value.
            </value>
            <remarks>
            <para>
            Gets or sets the minimum value.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.Max">
            <summary>
            Gets or sets the maximum value.
            </summary>
            <value>
            The maximum value.
            </value>
            <remarks>
            <para>
            Gets or sets the maximum value.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.FormattingInfo.LeftAlign">
            <summary>
            Gets or sets a flag indicating whether left align is enabled
            or not.
            </summary>
            <value>
            A flag indicating whether left align is enabled or not.
            </value>
            <remarks>
            <para>
            Gets or sets a flag indicating whether left align is enabled or not.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.GlobalContextProperties">
            <summary>
            Implementation of Properties collection for the <see cref="T:log4net.GlobalContext"/>
            </summary>
            <remarks>
            <para>
            This class implements a properties collection that is thread safe and supports both
            storing properties and capturing a read only copy of the current propertied.
            </para>
            <para>
            This class is optimized to the scenario where the properties are read frequently
            and are modified infrequently.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.GlobalContextProperties.m_readOnlyProperties">
            <summary>
            The read only copy of the properties.
            </summary>
            <remarks>
            <para>
            This variable is declared <c>volatile</c> to prevent the compiler and JIT from
            reordering reads and writes of this thread performed on different threads.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.GlobalContextProperties.m_syncRoot">
            <summary>
            Lock object used to synchronize updates within this instance
            </summary>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.GlobalContextProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.Remove(System.String)">
            <summary>
            Remove a property from the global context
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Removing an entry from the global context properties is relatively expensive compared
            with reading a value. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.Clear">
            <summary>
            Clear the global context properties
            </summary>
        </member>
        <member name="M:log4net.Util.GlobalContextProperties.GetReadOnlyProperties">
            <summary>
            Get a readonly immutable copy of the properties
            </summary>
            <returns>the current global context properties</returns>
            <remarks>
            <para>
            This implementation is fast because the GlobalContextProperties class
            stores a readonly copy of the properties.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.GlobalContextProperties.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Reading the value for a key is faster than setting the value.
            When the value is written a new read only copy of 
            the properties is created.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ILogExtensions">
            <summary>
            The static class ILogExtensions contains a set of widely used
            methods that ease the interaction with the ILog interface implementations.
            </summary>
            <remarks>
            <para>
            This class contains methods for logging at different levels and checks the
            properties for determining if those logging levels are enabled in the current
            configuration.
            </para>
            </remarks>
            <example>Simple example of logging messages
            <code lang="C#">
            using log4net.Util;
            
            ILog log = LogManager.GetLogger("application-log");
            
            log.InfoExt("Application Start");
            log.DebugExt("This is a debug message");
            </code>
            </example>
        </member>
        <member name="F:log4net.Util.ILogExtensions.declaringType">
            <summary>
            The fully qualified type of the Logger class.
            </summary>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object})">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsDebugEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation.  If this logger is <c>INFO</c> enabled, then it converts 
            the message object (retrieved by invocation of the provided callback) to a 
            string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            It then proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object},System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads> //TODO
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsDebugEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation. If this logger is <c>INFO</c> enabled, then it converts 
            the message object (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object})">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsInfoEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation.  If this logger is <c>INFO</c> enabled, then it converts 
            the message object (retrieved by invocation of the provided callback) to a 
            string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            It then proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object},System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads> //TODO
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsInfoEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation. If this logger is <c>INFO</c> enabled, then it converts 
            the message object (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object})">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsWarnEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation.  If this logger is <c>WARN</c> enabled, then it converts 
            the message object (retrieved by invocation of the provided callback) to a 
            string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            It then proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object},System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads> //TODO
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsWarnEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation. If this logger is <c>WARN</c> enabled, then it converts 
            the message object (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object})">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsErrorEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation.  If this logger is <c>ERROR</c> enabled, then it converts 
            the message object (retrieved by invocation of the provided callback) to a 
            string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            It then proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object},System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads> //TODO
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsErrorEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation. If this logger is <c>ERROR</c> enabled, then it converts 
            the message object (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object})">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsFatalEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation.  If this logger is <c>FATAL</c> enabled, then it converts 
            the message object (retrieved by invocation of the provided callback) to a 
            string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            It then proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object},System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="callback">The lambda expression that gets the object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)">
            <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads> //TODO
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by reading the value <seealso cref="P:log4net.ILog.IsFatalEnabled"/> property.
            This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
            implementation. If this logger is <c>FATAL</c> enabled, then it converts 
            the message object (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="message">The message object to log.</param>
            <param name="exception">The exception to log, including its stack trace.</param>
            <remarks>
            <para>
            See the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)"/> form for more detailed information.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="args">An Object array containing zero or more objects to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
            <summary>
            Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
            </summary>
            <param name="logger">The logger on which the message is logged.</param>
            <param name="format">A String containing zero or more format items</param>
            <param name="arg0">An Object to format</param>
            <param name="arg1">An Object to format</param>
            <param name="arg2">An Object to format</param>
            <remarks>
            <para>
            The message is formatted using the <c>String.Format</c> method. See
            <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
            of the formatting.
            </para>
            <para>
            This method does not take an <see cref="T:System.Exception"/> object to include in the
            log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
            methods instead.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="T:log4net.Util.LevelMapping">
            <summary>
            Manages a mapping from levels to <see cref="T:log4net.Util.LevelMappingEntry"/>
            </summary>
            <remarks>
            <para>
            Manages an ordered mapping from <see cref="T:log4net.Core.Level"/> instances 
            to <see cref="T:log4net.Util.LevelMappingEntry"/> subclasses.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.LevelMapping.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initialise a new instance of <see cref="T:log4net.Util.LevelMapping"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LevelMapping.Add(log4net.Util.LevelMappingEntry)">
            <summary>
            Add a <see cref="T:log4net.Util.LevelMappingEntry"/> to this mapping
            </summary>
            <param name="entry">the entry to add</param>
            <remarks>
            <para>
            If a <see cref="T:log4net.Util.LevelMappingEntry"/> has previously been added
            for the same <see cref="T:log4net.Core.Level"/> then that entry will be 
            overwritten.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LevelMapping.Lookup(log4net.Core.Level)">
            <summary>
            Lookup the mapping for the specified level
            </summary>
            <param name="level">the level to lookup</param>
            <returns>the <see cref="T:log4net.Util.LevelMappingEntry"/> for the level or <c>null</c> if no mapping found</returns>
            <remarks>
            <para>
            Lookup the value for the specified level. Finds the nearest
            mapping value for the level that is equal to or less than the
            <paramref name="level"/> specified.
            </para>
            <para>
            If no mapping could be found then <c>null</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LevelMapping.ActivateOptions">
            <summary>
            Initialize options
            </summary>
            <remarks>
            <para>
            Caches the sorted list of <see cref="T:log4net.Util.LevelMappingEntry"/> in an array
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LogicalThreadContextProperties">
            <summary>
            Implementation of Properties collection for the <see cref="T:log4net.LogicalThreadContext"/>
            </summary>
            <remarks>
            <para>
            Class implements a collection of properties that is specific to each thread.
            The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
            </para>
            <para>
            This class stores its properties in a slot on the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> named
            <c>log4net.Util.LogicalThreadContextProperties</c>.
            </para>
            <para>
            The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> requires a link time 
            <see cref="T:System.Security.Permissions.SecurityPermission"/> for the
            <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure"/>.
            If the calling code does not have this permission then this context will be disabled.
            It will not store any property values set on it.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.LogicalThreadContextProperties.m_disabled">
            <summary>
            Flag used to disable this context if we don't have permission to access the CallContext.
            </summary>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.Remove(System.String)">
            <summary>
            Remove a property
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Remove the value for the specified <paramref name="key"/> from the context.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.Clear">
            <summary>
            Clear all the context properties
            </summary>
            <remarks>
            <para>
            Clear all the context properties
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.GetProperties(System.Boolean)">
            <summary>
            Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread.
            </summary>
            <param name="create">create the dictionary if it does not exist, otherwise return null if is does not exist</param>
            <returns>the properties for this thread</returns>
            <remarks>
            <para>
            The collection returned is only to be used on the calling thread. If the
            caller needs to share the collection between different threads then the 
            caller must clone the collection before doings so.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.GetCallContextData">
            <summary>
            Gets the call context get data.
            </summary>
            <returns>The peroperties dictionary stored in the call context</returns>
            <remarks>
            The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> method <see cref="M:System.Runtime.Remoting.Messaging.CallContext.GetData(System.String)"/> has a
            security link demand, therfore we must put the method call in a seperate method
            that we can wrap in an exception handler.
            </remarks>
        </member>
        <member name="M:log4net.Util.LogicalThreadContextProperties.SetCallContextData(log4net.Util.PropertiesDictionary)">
            <summary>
            Sets the call context data.
            </summary>
            <param name="properties">The properties.</param>
            <remarks>
            The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> method <see cref="M:System.Runtime.Remoting.Messaging.CallContext.SetData(System.String,System.Object)"/> has a
            security link demand, therfore we must put the method call in a seperate method
            that we can wrap in an exception handler.
            </remarks>
        </member>
        <member name="F:log4net.Util.LogicalThreadContextProperties.declaringType">
            <summary>
            The fully qualified type of the LogicalThreadContextProperties class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.LogicalThreadContextProperties.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Get or set the property value for the <paramref name="key"/> specified.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LogReceivedEventHandler">
            <summary>
            
            </summary>
            <param name="source"></param>
            <param name="e"></param>
        </member>
        <member name="T:log4net.Util.LogLog">
            <summary>
            Outputs log statements from within the log4net assembly.
            </summary>
            <remarks>
            <para>
            Log4net components cannot make log4net logging calls. However, it is
            sometimes useful for the user to learn about what log4net is
            doing.
            </para>
            <para>
            All log4net internal debug calls go to the standard output stream
            whereas internal error messages are sent to the standard error output 
            stream.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.LogLog.ToString">
            <summary>
            Formats Prefix, Source, and Message in the same format as the value
            sent to Console.Out and Trace.Write.
            </summary>
            <returns></returns>
        </member>
        <member name="M:log4net.Util.LogLog.#ctor(System.Type,System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.LogLog"/> class. 
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="M:log4net.Util.LogLog.#cctor">
            <summary>
            Static constructor that initializes logging by reading 
            settings from the application configuration file.
            </summary>
            <remarks>
            <para>
            The <c>log4net.Internal.Debug</c> application setting
            controls internal debugging. This setting should be set
            to <c>true</c> to enable debugging.
            </para>
            <para>
            The <c>log4net.Internal.Quiet</c> application setting
            suppresses all internal logging including error messages. 
            This setting should be set to <c>true</c> to enable message
            suppression.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.OnLogReceived(System.Type,System.String,System.String,System.Exception)">
            <summary>
            Raises the LogReceived event when an internal messages is received.
            </summary>
            <param name="source"></param>
            <param name="prefix"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="source"></param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Error(System.Type,System.String)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            All internal error messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.Error(System.Type,System.String,System.Exception)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="source">The Type that generated this message.</param>
            <param name="message">The message to log.</param>
            <param name="exception">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
            <summary>
            Writes output to the standard output stream.  
            </summary>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            Writes to both Console.Out and System.Diagnostics.Trace.
            Note that the System.Diagnostics.Trace is not supported
            on the Compact Framework.
            </para>
            <para>
            If the AppDomain is not configured with a config file then
            the call to System.Diagnostics.Trace may fail. This is only
            an issue if you are programmatically creating your own AppDomains.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
            <summary>
            Writes output to the standard error stream.  
            </summary>
            <param name="message">The message to log.</param>
            <remarks>
            <para>
            Writes to both Console.Error and System.Diagnostics.Trace.
            Note that the System.Diagnostics.Trace is not supported
            on the Compact Framework.
            </para>
            <para>
            If the AppDomain is not configured with a config file then
            the call to System.Diagnostics.Trace may fail. This is only
            an issue if you are programmatically creating your own AppDomains.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.LogLog.s_debugEnabled">
            <summary>
             Default debug level
            </summary>
        </member>
        <member name="F:log4net.Util.LogLog.s_quietMode">
            <summary>
            In quietMode not even errors generate any output.
            </summary>
        </member>
        <member name="E:log4net.Util.LogLog.LogReceived">
            <summary>
            The event raised when an internal message has been received.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Source">
            <summary>
            The Type that generated the internal message.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.TimeStamp">
            <summary>
            The DateTime stamp of when the internal message was received.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Prefix">
            <summary>
            A string indicating the severity of the internal message.
            </summary>
            <remarks>
            "log4net: ", 
            "log4net:ERROR ", 
            "log4net:WARN "
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.Message">
            <summary>
            The internal log message.
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.Exception">
            <summary>
            The Exception related to the message.
            </summary>
            <remarks>
            Optional. Will be null if no Exception was passed.
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.InternalDebugging">
            <summary>
            Gets or sets a value indicating whether log4net internal logging
            is enabled or disabled.
            </summary>
            <value>
            <c>true</c> if log4net internal logging is enabled, otherwise 
            <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c>, internal debug level logging will be 
            displayed.
            </para>
            <para>
            This value can be set by setting the application setting 
            <c>log4net.Internal.Debug</c> in the application configuration
            file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. debugging is
            disabled.
            </para>
            </remarks>
            <example>
            <para>
            The following example enables internal debugging using the 
            application configuration file :
            </para>
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net.Internal.Debug" value="true" />
            	</appSettings>
            </configuration>
            </code>
            </example>
        </member>
        <member name="P:log4net.Util.LogLog.QuietMode">
            <summary>
            Gets or sets a value indicating whether log4net should generate no output
            from internal logging, not even for errors. 
            </summary>
            <value>
            <c>true</c> if log4net should generate no output at all from internal 
            logging, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c> will cause internal logging at all levels to be 
            suppressed. This means that no warning or error reports will be logged. 
            This option overrides the <see cref="P:log4net.Util.LogLog.InternalDebugging"/> setting and 
            disables all debug also.
            </para>
            <para>This value can be set by setting the application setting
            <c>log4net.Internal.Quiet</c> in the application configuration file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. internal logging is not
            disabled.
            </para>
            </remarks>
            <example>
            The following example disables internal logging using the 
            application configuration file :
            <code lang="XML" escaped="true">
            <configuration>
            	<appSettings>
            		<add key="log4net.Internal.Quiet" value="true"/>
            	</appSettings>
            </configuration>
            </code>
            </example>
        </member>
        <member name="P:log4net.Util.LogLog.EmitInternalMessages">
            <summary>
            
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.IsDebugEnabled">
            <summary>
            Test if LogLog.Debug is enabled for output.
            </summary>
            <value>
            <c>true</c> if Debug is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Debug is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.IsWarnEnabled">
            <summary>
            Test if LogLog.Warn is enabled for output.
            </summary>
            <value>
            <c>true</c> if Warn is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Warn is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.LogLog.IsErrorEnabled">
            <summary>
            Test if LogLog.Error is enabled for output.
            </summary>
            <value>
            <c>true</c> if Error is enabled
            </value>
            <remarks>
            <para>
            Test if LogLog.Error is enabled for output.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.LogLog.LogReceivedAdapter">
            <summary>
            Subscribes to the LogLog.LogReceived event and stores messages
            to the supplied IList instance.
            </summary>
        </member>
        <member name="M:log4net.Util.LogLog.LogReceivedAdapter.#ctor(System.Collections.IList)">
            <summary>
            
            </summary>
            <param name="items"></param>
        </member>
        <member name="M:log4net.Util.LogLog.LogReceivedAdapter.Dispose">
            <summary>
            
            </summary>
        </member>
        <member name="P:log4net.Util.LogLog.LogReceivedAdapter.Items">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.LogReceivedEventArgs">
            <summary>
            
            </summary>
        </member>
        <member name="M:log4net.Util.LogReceivedEventArgs.#ctor(log4net.Util.LogLog)">
            <summary>
            
            </summary>
            <param name="loglog"></param>
        </member>
        <member name="P:log4net.Util.LogReceivedEventArgs.LogLog">
            <summary>
            
            </summary>
        </member>
        <member name="T:log4net.Util.NativeError">
            <summary>
            Represents a native error code and message.
            </summary>
            <remarks>
            <para>
            Represents a Win32 platform native error.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.NativeError.#ctor(System.Int32,System.String)">
            <summary>
            Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified 
            error number and message.
            </summary>
            <param name="number">The number of the native error.</param>
            <param name="message">The message of the native error.</param>
            <remarks>
            <para>
            Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified 
            error number and message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NativeError.GetLastError">
            <summary>
            Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class for the last Windows error.
            </summary>
            <returns>
            An instance of the <see cref="T:log4net.Util.NativeError"/> class for the last windows error.
            </returns>
            <remarks>
            <para>
            The message for the <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/> error number is lookup up using the 
            native Win32 <c>FormatMessage</c> function.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NativeError.GetError(System.Int32)">
            <summary>
            Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class.
            </summary>
            <param name="number">the error number for the native error</param>
            <returns>
            An instance of the <see cref="T:log4net.Util.NativeError"/> class for the specified 
            error number.
            </returns>
            <remarks>
            <para>
            The message for the specified error number is lookup up using the 
            native Win32 <c>FormatMessage</c> function.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NativeError.GetErrorMessage(System.Int32)">
            <summary>
            Retrieves the message corresponding with a Win32 message identifier.
            </summary>
            <param name="messageId">Message identifier for the requested message.</param>
            <returns>
            The message corresponding with the specified message identifier.
            </returns>
            <remarks>
            <para>
            The message will be searched for in system message-table resource(s)
            using the native <c>FormatMessage</c> function.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NativeError.ToString">
            <summary>
            Return error information string
            </summary>
            <returns>error information string</returns>
            <remarks>
            <para>
            Return error information string
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NativeError.FormatMessage(System.Int32,System.IntPtr@,System.Int32,System.Int32,System.String@,System.Int32,System.IntPtr)">
            <summary>
            Formats a message string.
            </summary>
            <param name="dwFlags">Formatting options, and how to interpret the <paramref name="lpSource" /> parameter.</param>
            <param name="lpSource">Location of the message definition.</param>
            <param name="dwMessageId">Message identifier for the requested message.</param>
            <param name="dwLanguageId">Language identifier for the requested message.</param>
            <param name="lpBuffer">If <paramref name="dwFlags" /> includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the <c>LocalAlloc</c> function, and places the pointer to the buffer at the address specified in <paramref name="lpBuffer" />.</param>
            <param name="nSize">If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer.</param>
            <param name="Arguments">Pointer to an array of values that are used as insert values in the formatted message.</param>
            <remarks>
            <para>
            The function requires a message definition as input. The message definition can come from a 
            buffer passed into the function. It can come from a message table resource in an 
            already-loaded module. Or the caller can ask the function to search the system's message 
            table resource(s) for the message definition. The function finds the message definition 
            in a message table resource based on a message identifier and a language identifier. 
            The function copies the formatted message text to an output buffer, processing any embedded 
            insert sequences if requested.
            </para>
            <para>
            To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message.
            </para>
            </remarks>
            <returns>
            <para>
            If the function succeeds, the return value is the number of TCHARs stored in the output 
            buffer, excluding the terminating null character.
            </para>
            <para>
            If the function fails, the return value is zero. To get extended error information, 
            call <see cref="M:Marshal.GetLastWin32Error()" />.
            </para>
            </returns>
        </member>
        <member name="P:log4net.Util.NativeError.Number">
            <summary>
            Gets the number of the native error.
            </summary>
            <value>
            The number of the native error.
            </value>
            <remarks>
            <para>
            Gets the number of the native error.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.NativeError.Message">
            <summary>
            Gets the message of the native error.
            </summary>
            <value>
            The message of the native error.
            </value>
            <remarks>
            <para>
            </para>
            Gets the message of the native error.
            </remarks>
        </member>
        <member name="T:log4net.Util.NullDictionaryEnumerator">
            <summary>
            An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.IDictionaryEnumerator"/> over a collection
            that is empty and not modifiable.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.MoveNext">
            <summary>
            Test if the enumerator can advance, if so advance.
            </summary>
            <returns><c>false</c> as the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> cannot advance.</returns>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullDictionaryEnumerator.MoveNext"/>
            will always return <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullDictionaryEnumerator.Reset">
            <summary>
            Resets the enumerator back to the start.
            </summary>
            <remarks>
            <para>
            As the enumerator is over an empty collection <see cref="M:log4net.Util.NullDictionaryEnumerator.Reset"/> does nothing.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.NullDictionaryEnumerator.s_instance">
            <summary>
            The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </summary>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Instance">
            <summary>
            Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Current">
            <summary>
            Gets the current object from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Key">
            <summary>
            Gets the current key from the enumerator.
            </summary>
            <remarks>
            Throws an exception because the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>
            never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Key"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Value">
            <summary>
            Gets the current value from the enumerator.
            </summary>
            <value>The current value from the enumerator.</value>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Value"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="P:log4net.Util.NullDictionaryEnumerator.Entry">
            <summary>
            Gets the current entry from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current entry.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Entry"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="T:log4net.Util.NullEnumerator">
            <summary>
            An always empty <see cref="T:System.Collections.IEnumerator"/>.
            </summary>
            <remarks>
            <para>
            A singleton implementation of the <see cref="T:System.Collections.IEnumerator"/> over a collection
            that is empty and not modifiable.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.NullEnumerator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.NullEnumerator"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to enforce the singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullEnumerator.MoveNext">
            <summary>
            Test if the enumerator can advance, if so advance
            </summary>
            <returns><c>false</c> as the <see cref="T:log4net.Util.NullEnumerator"/> cannot advance.</returns>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullEnumerator.MoveNext"/>
            will always return <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullEnumerator.Reset">
            <summary>
            Resets the enumerator back to the start.
            </summary>
            <remarks>
            <para>
            As the enumerator is over an empty collection <see cref="M:log4net.Util.NullEnumerator.Reset"/> does nothing.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.NullEnumerator.s_instance">
            <summary>
            The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
            </summary>
        </member>
        <member name="P:log4net.Util.NullEnumerator.Instance">
            <summary>
            Get the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.</returns>
            <remarks>
            <para>
            Gets the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.NullEnumerator.Current">
            <summary>
            Gets the current object from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
            <remarks>
            <para>
            As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
            value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullEnumerator.Current"/>
            will throw an <see cref="T:System.InvalidOperationException"/>.
            </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullEnumerator.Current"/> 
            cannot be positioned over a valid location.</exception>
        </member>
        <member name="T:log4net.Util.NullSecurityContext">
            <summary>
            A SecurityContext used when a SecurityContext is not required
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Util.NullSecurityContext"/> is a no-op implementation of the
            <see cref="T:log4net.Core.SecurityContext"/> base class. It is used where a <see cref="T:log4net.Core.SecurityContext"/>
            is required but one has not been provided.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.NullSecurityContext.Instance">
            <summary>
            Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
            </summary>
            <remarks>
            <para>
            Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullSecurityContext.#ctor">
            <summary>
            Private constructor
            </summary>
            <remarks>
            <para>
            Private constructor for singleton pattern.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.NullSecurityContext.Impersonate(System.Object)">
            <summary>
            Impersonate this SecurityContext
            </summary>
            <param name="state">State supplied by the caller</param>
            <returns><c>null</c></returns>
            <remarks>
            <para>
            No impersonation is done and <c>null</c> is always returned.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.OnlyOnceErrorHandler">
            <summary>
            Implements log4net's default error handling policy which consists 
            of emitting a message for the first error in an appender and 
            ignoring all subsequent errors.
            </summary>
            <remarks>
            <para>
            The error message is processed using the LogLog sub-system by default.
            </para>
            <para>
            This policy aims at protecting an otherwise working application
            from being flooded with error messages when logging fails.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Ron Grabowski</author>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor">
            <summary>
            Default Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="prefix">The prefix to use for each message.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class
            with the specified prefix.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Reset">
            <summary>
            Reset the error handler back to its initial disabled state.
            </summary>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
            <summary>
            Log an Error
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <param name="errorCode">The internal error code.</param>
            <remarks>
            <para>
            Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)">
            <summary>
            Log the very first error
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <param name="errorCode">The internal error code.</param>
            <remarks>
            <para>
            Sends the error information to <see cref="T:log4net.Util.LogLog"/>'s Error method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Log an Error
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <remarks>
            <para>
            Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String)">
            <summary>
            Log an error
            </summary>
            <param name="message">The error message.</param>
            <remarks>
            <para>
            Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_enabledDate">
            <summary>
            The date the error was recorded.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_firstTime">
            <summary>
            Flag to indicate if it is the first error
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_message">
            <summary>
            The message recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_exception">
            <summary>
            The exception recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_errorCode">
            <summary>
            The error code recorded during the first error.
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.m_prefix">
            <summary>
            String to prefix each message with
            </summary>
        </member>
        <member name="F:log4net.Util.OnlyOnceErrorHandler.declaringType">
            <summary>
            The fully qualified type of the OnlyOnceErrorHandler class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.IsEnabled">
            <summary>
            Is error logging enabled
            </summary>
            <remarks>
            <para>
            Is error logging enabled. Logging is only enabled for the
            first error delivered to the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.EnabledDate">
            <summary>
            The date the first error that trigged this error handler occured.
            </summary>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorMessage">
            <summary>
            The message from the first error that trigged this error handler.
            </summary>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.Exception">
            <summary>
            The exception from the first error that trigged this error handler.
            </summary>
            <remarks>
            May be <see langword="null" />.
            </remarks>
        </member>
        <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorCode">
            <summary>
            The error code from the first error that trigged this error handler.
            </summary>
            <remarks>
            Defaults to <see cref="F:log4net.Core.ErrorCode.GenericFailure"/>
            </remarks>
        </member>
        <member name="T:log4net.Util.OptionConverter">
            <summary>
            A convenience class to convert property values to specific types.
            </summary>
            <remarks>
            <para>
            Utility functions for converting types and parsing values.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.OptionConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.OptionConverter"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ToBoolean(System.String,System.Boolean)">
            <summary>
            Converts a string to a <see cref="T:System.Boolean"/> value.
            </summary>
            <param name="argValue">String to convert.</param>
            <param name="defaultValue">The default value.</param>
            <returns>The <see cref="T:System.Boolean"/> value of <paramref name="argValue"/>.</returns>
            <remarks>
            <para>
            If <paramref name="argValue"/> is "true", then <c>true</c> is returned. 
            If <paramref name="argValue"/> is "false", then <c>false</c> is returned. 
            Otherwise, <paramref name="defaultValue"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ToFileSize(System.String,System.Int64)">
            <summary>
            Parses a file size into a number.
            </summary>
            <param name="argValue">String to parse.</param>
            <param name="defaultValue">The default value.</param>
            <returns>The <see cref="T:System.Int64"/> value of <paramref name="argValue"/>.</returns>
            <remarks>
            <para>
            Parses a file size of the form: number[KB|MB|GB] into a
            long value. It is scaled with the appropriate multiplier.
            </para>
            <para>
            <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
            cannot be converted to a <see cref="T:System.Int64"/> value.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string to an object.
            </summary>
            <param name="target">The target type to convert to.</param>
            <param name="txt">The string to convert to an object.</param>
            <returns>
            The object converted from a string or <c>null</c> when the 
            conversion failed.
            </returns>
            <remarks>
            <para>
            Converts a string to an object. Uses the converter registry to try
            to convert the string value into the specified target type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
            <summary>
            Checks if there is an appropriate type conversion from the source type to the target type.
            </summary>
            <param name="sourceType">The type to convert from.</param>
            <param name="targetType">The type to convert to.</param>
            <returns><c>true</c> if there is a conversion from the source type to the target type.</returns>
            <remarks>
            Checks if there is an appropriate type conversion from the source type to the target type.
            <para>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
            <summary>
            Converts an object to the target type.
            </summary>
            <param name="sourceInstance">The object to convert to the target type.</param>
            <param name="targetType">The type to convert to.</param>
            <returns>The converted object.</returns>
            <remarks>
            <para>
            Converts an object to the target type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
            <summary>
            Instantiates an object given a class name.
            </summary>
            <param name="className">The fully qualified class name of the object to instantiate.</param>
            <param name="superClass">The class to which the new object should belong.</param>
            <param name="defaultValue">The object to return in case of non-fulfillment.</param>
            <returns>
            An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
            if the object could not be instantiated.
            </returns>
            <remarks>
            <para>
            Checks that the <paramref name="className"/> is a subclass of
            <paramref name="superClass"/>. If that test fails or the object could
            not be instantiated, then <paramref name="defaultValue"/> is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.SubstituteVariables(System.String,System.Collections.IDictionary)">
            <summary>
            Performs variable substitution in string <paramref name="value"/> from the 
            values of keys found in <paramref name="props"/>.
            </summary>
            <param name="value">The string on which variable substitution is performed.</param>
            <param name="props">The dictionary to use to lookup variables.</param>
            <returns>The result of the substitutions.</returns>
            <remarks>
            <para>
            The variable substitution delimiters are <b>${</b> and <b>}</b>.
            </para>
            <para>
            For example, if props contains <c>key=value</c>, then the call
            </para>
            <para>
            <code lang="C#">
            string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
            </code>
            </para>
            <para>
            will set the variable <c>s</c> to "Value of key is value.".
            </para>
            <para>
            If no value could be found for the specified key, then substitution 
            defaults to an empty string.
            </para>
            <para>
            For example, if system properties contains no value for the key
            "nonExistentKey", then the call
            </para>
            <para>
            <code lang="C#">
            string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
            </code>
            </para>
            <para>
            will set <s>s</s> to "Value of nonExistentKey is []".	 
            </para>
            <para>
            An Exception is thrown if <paramref name="value"/> contains a start 
            delimiter "${" which is not balanced by a stop delimiter "}". 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
            <summary>
            Converts the string representation of the name or numeric value of one or 
            more enumerated constants to an equivalent enumerated object.
            </summary>
            <param name="enumType">The type to convert to.</param>
            <param name="value">The enum string value.</param>
            <param name="ignoreCase">If <c>true</c>, ignore case; otherwise, regard case.</param>
            <returns>An object of type <paramref name="enumType" /> whose value is represented by <paramref name="value" />.</returns>
        </member>
        <member name="F:log4net.Util.OptionConverter.declaringType">
            <summary>
            The fully qualified type of the OptionConverter class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternParser">
            <summary>
            Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
            is delegated to the PatternParser class.
            </summary>
            <remarks>
            <para>
            The <c>PatternParser</c> processes a pattern string and
            returns a chain of <see cref="T:log4net.Util.PatternConverter"/> objects.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.PatternParser.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="pattern">The pattern to parse.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PatternParser"/> class 
            with the specified pattern string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.Parse">
            <summary>
            Parses the pattern into a chain of pattern converters.
            </summary>
            <returns>The head of a chain of pattern converters.</returns>
            <remarks>
            <para>
            Parses the pattern into a chain of pattern converters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.BuildCache">
            <summary>
            Build the unified cache of converters from the static and instance maps
            </summary>
            <returns>the list of all the converter names</returns>
            <remarks>
            <para>
            Build the unified cache of converters from the static and instance maps
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.ParseInternal(System.String,System.String[])">
            <summary>
            Internal method to parse the specified pattern to find specified matches
            </summary>
            <param name="pattern">the pattern to parse</param>
            <param name="matches">the converter names to match in the pattern</param>
            <remarks>
            <para>
            The matches param must be sorted such that longer strings come before shorter ones.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternParser.ProcessLiteral(System.String)">
            <summary>
            Process a parsed literal
            </summary>
            <param name="text">the literal text</param>
        </member>
        <member name="M:log4net.Util.PatternParser.ProcessConverter(System.String,System.String,log4net.Util.FormattingInfo)">
            <summary>
            Process a parsed converter pattern
            </summary>
            <param name="converterName">the name of the converter</param>
            <param name="option">the optional option for the converter</param>
            <param name="formattingInfo">the formatting info for the converter</param>
        </member>
        <member name="M:log4net.Util.PatternParser.AddConverter(log4net.Util.PatternConverter)">
            <summary>
            Resets the internal state of the parser and adds the specified pattern converter 
            to the chain.
            </summary>
            <param name="pc">The pattern converter to add.</param>
        </member>
        <member name="F:log4net.Util.PatternParser.m_head">
            <summary>
            The first pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_tail">
            <summary>
             the last pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_pattern">
            <summary>
            The pattern
            </summary>
        </member>
        <member name="F:log4net.Util.PatternParser.m_patternConverters">
            <summary>
            Internal map of converter identifiers to converter types
            </summary>
            <remarks>
            <para>
            This map overrides the static s_globalRulesRegistry map.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.PatternParser.declaringType">
            <summary>
            The fully qualified type of the PatternParser class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternParser.PatternConverters">
            <summary>
            Get the converter registry used by this parser
            </summary>
            <value>
            The converter registry used by this parser
            </value>
            <remarks>
            <para>
            Get the converter registry used by this parser
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternParser.StringLengthComparer">
            <summary>
            Sort strings by length
            </summary>
            <remarks>
            <para>
            <see cref="T:System.Collections.IComparer"/> that orders strings by string length.
            The longest strings are placed first
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PatternString">
            <summary>
            This class implements a patterned string.
            </summary>
            <remarks>
            <para>
            This string has embedded patterns that are resolved and expanded
            when the string is formatted.
            </para>
            <para>
            This class functions similarly to the <see cref="T:log4net.Layout.PatternLayout"/>
            in that it accepts a pattern and renders it to a string. Unlike the 
            <see cref="T:log4net.Layout.PatternLayout"/> however the <c>PatternString</c>
            does not render the properties of a specific <see cref="T:log4net.Core.LoggingEvent"/> but
            of the process in general.
            </para>
            <para>
            The recognized conversion pattern names are:
            </para>
            <list type="table">
                <listheader>
                    <term>Conversion Pattern Name</term>
                    <description>Effect</description>
                </listheader>
                <item>
                    <term>appdomain</term>
                    <description>
                        <para>
                        Used to output the friendly name of the current AppDomain.
                        </para>
                    </description>
                </item>
                <item>
                    <term>date</term>
                    <description>
            			<para>
            			Used to output the current date and time in the local time zone. 
            			To output the date in universal time use the <c>%utcdate</c> pattern.
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
            			<b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:DateTime.ToString(string)"/>.
            			</para>
                    </description>
                </item>
                <item>
                    <term>env</term>
                    <description>
                        <para>
            			Used to output the a specific environment variable. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <b>%env{COMPUTERNAME}</b> would include the value
            			of the <c>COMPUTERNAME</c> environment variable.
                        </para>
                        <para>
                        The <c>env</c> pattern is not supported on the .NET Compact Framework.
                        </para>
                    </description>
                </item>
                <item>
                    <term>identity</term>
                    <description>
            			<para>
            			Used to output the user name for the currently active user
            			(Principal.Identity.Name).
            			</para>
                    </description>
                </item>
                <item>
                    <term>newline</term>
                    <description>
            			<para>
            			Outputs the platform dependent line separator character or
            			characters.
            			</para>
            			<para>
            			This conversion pattern name offers the same performance as using 
            			non-portable line separator strings such as	"\n", or "\r\n". 
            			Thus, it is the preferred way of specifying a line separator.
            			</para> 
                    </description>
                </item>
                <item>
                    <term>processid</term>
                    <description>
                        <para>
            			Used to output the system process ID for the current process.
                        </para>
                    </description>
                </item>
                <item>
                    <term>property</term>
                    <description>
            			<para>
            			Used to output a specific context property. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <b>%property{user}</b> would include the value
            			from the property that is keyed by the string 'user'. Each property value
            			that is to be included in the log must be specified separately.
            			Properties are stored in logging contexts. By default 
            			the <c>log4net:HostName</c> property is set to the name of machine on 
            			which the event was originally logged.
            			</para>
            			<para>
            			If no key is specified, e.g. <b>%property</b> then all the keys and their
            			values are printed in a comma separated list.
            			</para>
            			<para>
            			The properties of an event are combined from a number of different
            			contexts. These are listed below in the order in which they are searched.
            			</para>
            			<list type="definition">
            				<item>
            					<term>the thread properties</term>
            					<description>
            					The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
            					thread. These properties are shared by all events logged on this thread.
            					</description>
            				</item>
            				<item>
            					<term>the global properties</term>
            					<description>
            					The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
            					properties are shared by all the threads in the AppDomain.
            					</description>
            				</item>
            			</list>
                    </description>
                </item>
                <item>
                    <term>random</term>
                    <description>
                        <para>
                        Used to output a random string of characters. The string is made up of
                        uppercase letters and numbers. By default the string is 4 characters long.
                        The length of the string can be specified within braces directly following the
            			pattern specifier, e.g. <b>%random{8}</b> would output an 8 character string.
                        </para>
                    </description>
                </item>
                <item>
                    <term>username</term>
                    <description>
            			<para>
            			Used to output the WindowsIdentity for the currently
            			active user.
            			</para>
                    </description>
                </item>
                <item>
                    <term>utcdate</term>
                    <description>
            			<para>
            			Used to output the date of the logging event in universal time. 
            			The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
            			<b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
            			<b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:DateTime.ToString(string)"/>.
            			</para>
                    </description>
                </item>
            	<item>
            		<term>%</term>
            		<description>
            			<para>
            			The sequence %% outputs a single percent sign.
            			</para>
            		</description>
            	</item>
            </list>
            <para>
            Additional pattern converters may be registered with a specific <see cref="T:log4net.Util.PatternString"/>
            instance using <see cref="M:AddConverter(ConverterInfo)"/> or
            <see cref="M:AddConverter(string, Type)"/>.
            </para>
            <para>
            See the <see cref="T:log4net.Layout.PatternLayout"/> for details on the 
            <i>format modifiers</i> supported by the patterns.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.PatternString.s_globalRulesRegistry">
            <summary>
            Internal map of converter identifiers to converter types.
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_pattern">
            <summary>
            the pattern
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_head">
            <summary>
            the head of the pattern converter chain
            </summary>
        </member>
        <member name="F:log4net.Util.PatternString.m_instanceRulesRegistry">
            <summary>
            patterns defined on this PatternString only
            </summary>
        </member>
        <member name="M:log4net.Util.PatternString.#cctor">
            <summary>
            Initialize the global registry
            </summary>
        </member>
        <member name="M:log4net.Util.PatternString.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Initialize a new instance of <see cref="T:log4net.Util.PatternString"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.#ctor(System.String)">
            <summary>
            Constructs a PatternString
            </summary>
            <param name="pattern">The pattern to use with this PatternString</param>
            <remarks>
            <para>
            Initialize a new instance of <see cref="T:log4net.Util.PatternString"/> with the pattern specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.ActivateOptions">
            <summary>
            Initialize object options
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.PatternString.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.PatternString.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.PatternString.ActivateOptions"/> must be called again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.CreatePatternParser(System.String)">
            <summary>
            Create the <see cref="T:log4net.Util.PatternParser"/> used to parse the pattern
            </summary>
            <param name="pattern">the pattern to parse</param>
            <returns>The <see cref="T:log4net.Util.PatternParser"/></returns>
            <remarks>
            <para>
            Returns PatternParser used to parse the conversion string. Subclasses
            may override this to return a subclass of PatternParser which recognize
            custom conversion pattern name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.Format(System.IO.TextWriter)">
            <summary>
            Produces a formatted string as specified by the conversion pattern.
            </summary>
            <param name="writer">The TextWriter to write the formatted event to</param>
            <remarks>
            <para>
            Format the pattern to the <paramref name="writer"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.Format">
            <summary>
            Format the pattern as a string
            </summary>
            <returns>the pattern formatted as a string</returns>
            <remarks>
            <para>
            Format the pattern to a string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.AddConverter(log4net.Util.ConverterInfo)">
            <summary>
            Add a converter to this PatternString
            </summary>
            <param name="converterInfo">the converter info</param>
            <remarks>
            <para>
            This version of the method is used by the configurator.
            Programmatic users should use the alternative <see cref="M:AddConverter(string,Type)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)">
            <summary>
            Add a converter to this PatternString
            </summary>
            <param name="name">the name of the conversion pattern for this converter</param>
            <param name="type">the type of the converter</param>
            <remarks>
            <para>
            Add a converter to this PatternString
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PatternString.ConversionPattern">
            <summary>
            Gets or sets the pattern formatting string
            </summary>
            <value>
            The pattern formatting string
            </value>
            <remarks>
            <para>
            The <b>ConversionPattern</b> option. This is the string which
            controls formatting and consists of a mix of literal content and
            conversion specifiers.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.PropertiesDictionary">
            <summary>
            String keyed object map.
            </summary>
            <remarks>
            <para>
            While this collection is serializable only member 
            objects that are serializable will
            be serialized along with this collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
            <summary>
            String keyed object map that is read only.
            </summary>
            <remarks>
            <para>
            This collection is readonly and cannot be modified.
            </para>
            <para>
            While this collection is serializable only member 
            objects that are serializable will
            be serialized along with this collection.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
            <summary>
            The Hashtable used to store the properties data
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Copy Constructor
            </summary>
            <param name="propertiesDictionary">properties to copy</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Deserialization constructor
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class 
            with serialized data.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
            <summary>
            Gets the key names.
            </summary>
            <returns>An array of all the keys.</returns>
            <remarks>
            <para>
            Gets the key names.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
            <summary>
            Test if the dictionary contains a specified key
            </summary>
            <param name="key">the key to look for</param>
            <returns>true if the dictionary contains the specified key</returns>
            <remarks>
            <para>
            Test if the dictionary contains a specified key
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination for this serialization.</param>
            <remarks>
            <para>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
            <summary>
            Remove all properties from the properties collection
            </summary>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
            <summary>
            Gets or sets the value of the  property with the specified key.
            </summary>
            <value>
            The value of the property with the specified key.
            </value>
            <param name="key">The key of the property to get or set.</param>
            <remarks>
            <para>
            The property value will only be serialized if it is serializable.
            If it cannot be serialized it will be silently ignored if
            a serialization operation is performed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
            <summary>
            The hashtable used to store the properties
            </summary>
            <value>
            The internal collection used to store the properties
            </value>
            <remarks>
            <para>
            The hashtable used to store the properties
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Values"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Keys"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
            <summary>
            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
            <summary>
            The number of properties in this collection
            </summary>
        </member>
        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
            <summary>
            Constructor
            </summary>
            <param name="propertiesDictionary">properties to copy</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            <para>
            Because this class is sealed the serialization constructor is private.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
            <summary>
            Remove the entry with the specified key from this dictionary
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Remove the entry with the specified key from this dictionary
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
            </summary>
            <returns>an enumerator</returns>
            <remarks>
            <para>
            Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
            </summary>
            <param name="key">the key to remove</param>
            <remarks>
            <para>
            Remove the entry with the specified key from this dictionary
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
            </summary>
            <param name="key">the key to lookup in the collection</param>
            <returns><c>true</c> if the collection contains the specified key</returns>
            <remarks>
            <para>
            Test if this collection contains a specified key.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.Clear">
            <summary>
            Remove all properties from the properties collection
            </summary>
            <remarks>
            <para>
            Remove all properties from the properties collection
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <summary>
            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
            </summary>
            <param name="key">the key</param>
            <param name="value">the value to store for the key</param>
            <remarks>
            <para>
            Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <summary>
            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
            <summary>
            Gets or sets the value of the  property with the specified key.
            </summary>
            <value>
            The value of the property with the specified key.
            </value>
            <param name="key">The key of the property to get or set.</param>
            <remarks>
            <para>
            The property value will only be serialized if it is serializable.
            If it cannot be serialized it will be silently ignored if
            a serialization operation is performed.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
            </summary>
            <value>
            <c>false</c>
            </value>
            <remarks>
            <para>
            This collection is modifiable. This property always
            returns <c>false</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
            </summary>
            <value>
            The value for the key specified.
            </value>
            <remarks>
            <para>
            Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Values"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
            <summary>
            See <see cref="P:System.Collections.IDictionary.Keys"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
            <summary>
            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
            <summary>
            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
            </summary>
        </member>
        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
            <summary>
            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
            </summary>
        </member>
        <member name="T:log4net.Util.PropertyEntry">
            <summary>
            A class to hold the key and data for a property set in the config file
            </summary>
            <remarks>
            <para>
            A class to hold the key and data for a property set in the config file
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.PropertyEntry.ToString">
            <summary>
            Override <c>Object.ToString</c> to return sensible debug info
            </summary>
            <returns>string info about this object</returns>
        </member>
        <member name="P:log4net.Util.PropertyEntry.Key">
            <summary>
            Property Key
            </summary>
            <value>
            Property Key
            </value>
            <remarks>
            <para>
            Property Key.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.PropertyEntry.Value">
            <summary>
            Property Value
            </summary>
            <value>
            Property Value
            </value>
            <remarks>
            <para>
            Property Value.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ProtectCloseTextWriter">
            <summary>
            A <see cref="T:System.IO.TextWriter"/> that ignores the <see cref="M:log4net.Util.ProtectCloseTextWriter.Close"/> message
            </summary>
            <remarks>
            <para>
            This writer is used in special cases where it is necessary 
            to protect a writer from being closed by a client.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.#ctor(System.IO.TextWriter)">
            <summary>
            Constructor
            </summary>
            <param name="writer">the writer to actually write to</param>
            <remarks>
            <para>
            Create a new ProtectCloseTextWriter using a writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.Attach(System.IO.TextWriter)">
            <summary>
            Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
            </summary>
            <param name="writer">the writer to attach to</param>
            <remarks>
            <para>
            Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ProtectCloseTextWriter.Close">
            <summary>
            Does not close the underlying output writer.
            </summary>
            <remarks>
            <para>
            Does not close the underlying output writer.
            This method does nothing.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ReaderWriterLock">
            <summary>
            Defines a lock that supports single writers and multiple readers
            </summary>
            <remarks>
            <para>
            <c>ReaderWriterLock</c> is used to synchronize access to a resource. 
            At any given time, it allows either concurrent read access for 
            multiple threads, or write access for a single thread. In a 
            situation where a resource is changed infrequently, a 
            <c>ReaderWriterLock</c> provides better throughput than a simple 
            one-at-a-time lock, such as <see cref="T:System.Threading.Monitor"/>.
            </para>
            <para>
            If a platform does not support a <c>System.Threading.ReaderWriterLock</c> 
            implementation then all readers and writers are serialized. Therefore 
            the caller must not rely on multiple simultaneous readers.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.#ctor">
            <summary>
            Constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ReaderWriterLock"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.AcquireReaderLock">
            <summary>
            Acquires a reader lock
            </summary>
            <remarks>
            <para>
            <see cref="M:log4net.Util.ReaderWriterLock.AcquireReaderLock"/> blocks if a different thread has the writer 
            lock, or if at least one thread is waiting for the writer lock.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock">
            <summary>
            Decrements the lock count
            </summary>
            <remarks>
            <para>
            <see cref="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock"/> decrements the lock count. When the count 
            reaches zero, the lock is released.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.AcquireWriterLock">
            <summary>
            Acquires the writer lock
            </summary>
            <remarks>
            <para>
            This method blocks if another thread has a reader lock or writer lock.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReaderWriterLock.ReleaseWriterLock">
            <summary>
            Decrements the lock count on the writer lock
            </summary>
            <remarks>
            <para>
            ReleaseWriterLock decrements the writer lock count. 
            When the count reaches zero, the writer lock is released.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ReusableStringWriter">
            <summary>
            A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused
            </summary>
            <remarks>
            <para>
            A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused.
            This uses a single buffer for string operations.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.#ctor(System.IFormatProvider)">
            <summary>
            Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
            </summary>
            <param name="formatProvider">the format provider to use</param>
            <remarks>
            <para>
            Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.Dispose(System.Boolean)">
            <summary>
            Override Dispose to prevent closing of writer
            </summary>
            <param name="disposing">flag</param>
            <remarks>
            <para>
            Override Dispose to prevent closing of writer
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)">
            <summary>
            Reset this string writer so that it can be reused.
            </summary>
            <param name="maxCapacity">the maximum buffer capacity before it is trimmed</param>
            <param name="defaultSize">the default size to make the buffer</param>
            <remarks>
            <para>
            Reset this string writer so that it can be reused.
            The internal buffers are cleared and reset.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.SystemInfo">
            <summary>
            Utility class for system specific information.
            </summary>
            <remarks>
            <para>
            Utility class of static methods for system specific information.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
            <author>Alexey Solofnenko</author>
        </member>
        <member name="M:log4net.Util.SystemInfo.#ctor">
            <summary>
            Private constructor to prevent instances.
            </summary>
            <remarks>
            <para>
            Only static methods are exposed from this type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.#cctor">
            <summary>
            Initialize default values for private static fields.
            </summary>
            <remarks>
            <para>
            Only static methods are exposed from this type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
            <summary>
            Gets the assembly location path for the specified assembly.
            </summary>
            <param name="myAssembly">The assembly to get the location for.</param>
            <returns>The location of the assembly.</returns>
            <remarks>
            <para>
            This method does not guarantee to return the correct path
            to the assembly. If only tries to give an indication as to
            where the assembly was loaded from.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyQualifiedName(System.Type)">
            <summary>
            Gets the fully qualified name of the <see cref="T:System.Type"/>, including 
            the name of the assembly from which the <see cref="T:System.Type"/> was 
            loaded.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to get the fully qualified name for.</param>
            <returns>The fully qualified name for the <see cref="T:System.Type"/>.</returns>
            <remarks>
            <para>
            This is equivalent to the <c>Type.AssemblyQualifiedName</c> property,
            but this method works on the .NET Compact Framework 1.0 as well as
            the full .NET runtime.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
            <summary>
            Gets the short name of the <see cref="T:System.Reflection.Assembly"/>.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the name for.</param>
            <returns>The short name of the <see cref="T:System.Reflection.Assembly"/>.</returns>
            <remarks>
            <para>
            The short name of the assembly is the <see cref="P:System.Reflection.Assembly.FullName"/> 
            without the version, culture, or public key. i.e. it is just the 
            assembly's file name without the extension.
            </para>
            <para>
            Use this rather than <c>Assembly.GetName().Name</c> because that
            is not available on the Compact Framework.
            </para>
            <para>
            Because of a FileIOPermission security demand we cannot do
            the obvious Assembly.GetName().Name. We are allowed to get
            the <see cref="P:System.Reflection.Assembly.FullName"/> of the assembly so we 
            start from there and strip out just the assembly name.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
            <summary>
            Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the file name for.</param>
            <returns>The file name of the assembly.</returns>
            <remarks>
            <para>
            Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeType">A sibling type to use to load the type.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:Type.GetType(string,bool)"/>.
            </para>
            <para>
            If the type name is not fully qualified, it will be loaded from the assembly
            containing the specified relative type. If the type is not found in the assembly 
            then all the loaded assemblies will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>		
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:Type.GetType(string,bool)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the
            assembly that is directly calling this method. If the type is not found 
            in the assembly then all the loaded assemblies will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeAssembly">An assembly to load the type from.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:Type.GetType(string,bool)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the specified
            assembly. If the type is not found in the assembly then all the loaded assemblies 
            will be searched for the type.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.NewGuid">
            <summary>
            Generate a new guid
            </summary>
            <returns>A new Guid</returns>
            <remarks>
            <para>
            Generate a new guid
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.CreateArgumentOutOfRangeException(System.String,System.Object,System.String)">
            <summary>
            Create an <see cref="T:System.ArgumentOutOfRangeException"/>
            </summary>
            <param name="parameterName">The name of the parameter that caused the exception</param>
            <param name="actualValue">The value of the argument that causes this exception</param>
            <param name="message">The message that describes the error</param>
            <returns>the ArgumentOutOfRangeException object</returns>
            <remarks>
            <para>
            Create a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/> class 
            with a specified error message, the parameter name, and the value 
            of the argument.
            </para>
            <para>
            The Compact Framework does not support the 3 parameter constructor for the
            <see cref="T:System.ArgumentOutOfRangeException"/> type. This method provides an
            implementation that works for all platforms.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int32@)">
            <summary>
            Parse a string into an <see cref="T:System.Int32"/> value
            </summary>
            <param name="s">the string to parse</param>
            <param name="val">out param where the parsed value is placed</param>
            <returns><c>true</c> if the string was able to be parsed into an integer</returns>
            <remarks>
            <para>
            Attempts to parse the string into an integer. If the string cannot
            be parsed then this method returns <c>false</c>. The method does not throw an exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int64@)">
            <summary>
            Parse a string into an <see cref="T:System.Int64"/> value
            </summary>
            <param name="s">the string to parse</param>
            <param name="val">out param where the parsed value is placed</param>
            <returns><c>true</c> if the string was able to be parsed into an integer</returns>
            <remarks>
            <para>
            Attempts to parse the string into an integer. If the string cannot
            be parsed then this method returns <c>false</c>. The method does not throw an exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int16@)">
            <summary>
            Parse a string into an <see cref="T:System.Int16"/> value
            </summary>
            <param name="s">the string to parse</param>
            <param name="val">out param where the parsed value is placed</param>
            <returns><c>true</c> if the string was able to be parsed into an integer</returns>
            <remarks>
            <para>
            Attempts to parse the string into an integer. If the string cannot
            be parsed then this method returns <c>false</c>. The method does not throw an exception.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.GetAppSetting(System.String)">
            <summary>
            Lookup an application setting
            </summary>
            <param name="key">the application settings key to lookup</param>
            <returns>the value for the key, or <c>null</c></returns>
            <remarks>
            <para>
            Configuration APIs are not supported under the Compact Framework
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified local file path.
            </summary>
            <param name="path">The path to convert.</param>
            <returns>The fully qualified path.</returns>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            <para>
            The path specified must be a local file path, a URI is not supported.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemInfo.CreateCaseInsensitiveHashtable">
            <summary>
            Creates a new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity. 
            </summary>
            <returns>A new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity</returns>
            <remarks>
            <para>
            The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.SystemInfo.EmptyTypes">
            <summary>
            Gets an empty array of types.
            </summary>
            <remarks>
            <para>
            The <c>Type.EmptyTypes</c> field is not available on
            the .NET Compact Framework 1.0.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.SystemInfo.declaringType">
            <summary>
            The fully qualified type of the SystemInfo class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_hostName">
            <summary>
            Cache the host name for the current machine
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_appFriendlyName">
            <summary>
            Cache the application friendly name
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_nullText">
            <summary>
            Text to output when a <c>null</c> is encountered.
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_notAvailableText">
            <summary>
            Text to output when an unsupported feature is requested.
            </summary>
        </member>
        <member name="F:log4net.Util.SystemInfo.s_processStartTime">
            <summary>
            Start time for the current process.
            </summary>
        </member>
        <member name="P:log4net.Util.SystemInfo.NewLine">
            <summary>
            Gets the system dependent line terminator.
            </summary>
            <value>
            The system dependent line terminator.
            </value>
            <remarks>
            <para>
            Gets the system dependent line terminator.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ApplicationBaseDirectory">
            <summary>
            Gets the base directory for this <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
            <remarks>
            <para>
            Gets the base directory for this <see cref="T:System.AppDomain"/>.
            </para>
            <para>
            The value returned may be either a local file path or a URI.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ConfigurationFileLocation">
            <summary>
            Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
            <remarks>
            <para>
            The .NET Compact Framework 1.0 does not have a concept of a configuration
            file. For this runtime, we use the entry assembly location as the root for
            the configuration file name.
            </para>
            <para>
            The value returned may be either a local file path or a URI.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.EntryAssemblyLocation">
            <summary>
            Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the entry assembly.</value>
            <remarks>
            <para>
            Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.CurrentThreadId">
            <summary>
            Gets the ID of the current thread.
            </summary>
            <value>The ID of the current thread.</value>
            <remarks>
            <para>
            On the .NET framework, the <c>AppDomain.GetCurrentThreadId</c> method
            is used to obtain the thread ID for the current thread. This is the 
            operating system ID for the thread.
            </para>
            <para>
            On the .NET Compact Framework 1.0 it is not possible to get the 
            operating system thread ID for the current thread. The native method 
            <c>GetCurrentThreadId</c> is implemented inline in a header file
            and cannot be called.
            </para>
            <para>
            On the .NET Framework 2.0 the <c>Thread.ManagedThreadId</c> is used as this
            gives a stable id unrelated to the operating system thread ID which may 
            change if the runtime is using fibers.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.HostName">
            <summary>
            Get the host name or machine name for the current machine
            </summary>
            <value>
            The hostname or machine name
            </value>
            <remarks>
            <para>
            Get the host name or machine name for the current machine
            </para>
            <para>
            The host name (<see cref="M:System.Net.Dns.GetHostName"/>) or
            the machine name (<c>Environment.MachineName</c>) for
            the current machine, or if neither of these are available
            then <c>NOT AVAILABLE</c> is returned.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ApplicationFriendlyName">
            <summary>
            Get this application's friendly name
            </summary>
            <value>
            The friendly name of this application as a string
            </value>
            <remarks>
            <para>
            If available the name of the application is retrieved from
            the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
            </para>
            <para>
            Otherwise the file name of the entry assembly is used.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.ProcessStartTime">
            <summary>
            Get the start time for the current process.
            </summary>
            <remarks>
            <para>
            This is the time at which the log4net library was loaded into the
            AppDomain. Due to reports of a hang in the call to <c>System.Diagnostics.Process.StartTime</c>
            this is not the start time for the current process.
            </para>
            <para>
            The log4net library should be loaded by an application early during its
            startup, therefore this start time should be a good approximation for
            the actual start time.
            </para>
            <para>
            Note that AppDomains may be loaded and unloaded within the
            same process without the process terminating, however this start time
            will be set per AppDomain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.NullText">
            <summary>
            Text to output when a <c>null</c> is encountered.
            </summary>
            <remarks>
            <para>
            Use this value to indicate a <c>null</c> has been encountered while
            outputting a string representation of an item.
            </para>
            <para>
            The default value is <c>(null)</c>. This value can be overridden by specifying
            a value for the <c>log4net.NullText</c> appSetting in the application's
            .config file.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.SystemInfo.NotAvailableText">
            <summary>
            Text to output when an unsupported feature is requested.
            </summary>
            <remarks>
            <para>
            Use this value when an unsupported feature is requested.
            </para>
            <para>
            The default value is <c>NOT AVAILABLE</c>. This value can be overridden by specifying
            a value for the <c>log4net.NotAvailableText</c> appSetting in the application's
            .config file.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.SystemStringFormat">
            <summary>
            Utility class that represents a format string.
            </summary>
            <remarks>
            <para>
            Utility class that represents a format string.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.#ctor(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Initialise the <see cref="T:log4net.Util.SystemStringFormat"/>
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
            <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.ToString">
            <summary>
            Format the string and arguments
            </summary>
            <returns>the formatted string</returns>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.StringFormat(System.IFormatProvider,System.String,System.Object[])">
            <summary>
            Replaces the format item in a specified <see cref="T:System.String"/> with the text equivalent 
            of the value of a corresponding <see cref="T:System.Object"/> instance in a specified array.
            A specified parameter supplies culture-specific formatting information.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
            <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
            <returns>
            A copy of format in which the format items have been replaced by the <see cref="T:System.String"/> 
            equivalent of the corresponding instances of <see cref="T:System.Object"/> in args.
            </returns>
            <remarks>
            <para>
            This method does not throw exceptions. If an exception thrown while formatting the result the
            exception and arguments are returned in the result string.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.StringFormatError(System.Exception,System.String,System.Object[])">
            <summary>
            Process an error during StringFormat
            </summary>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.RenderArray(System.Array,System.Text.StringBuilder)">
            <summary>
            Dump the contents of an array into a string builder
            </summary>
        </member>
        <member name="M:log4net.Util.SystemStringFormat.RenderObject(System.Object,System.Text.StringBuilder)">
            <summary>
            Dump an object to a string
            </summary>
        </member>
        <member name="F:log4net.Util.SystemStringFormat.declaringType">
            <summary>
            The fully qualified type of the SystemStringFormat class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextProperties">
            <summary>
            Implementation of Properties collection for the <see cref="T:log4net.ThreadContext"/>
            </summary>
            <remarks>
            <para>
            Class implements a collection of properties that is specific to each thread.
            The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.ThreadContextProperties._dictionary">
            <summary>
            Each thread will automatically have its instance.
            </summary>
        </member>
        <member name="M:log4net.Util.ThreadContextProperties.#ctor">
            <summary>
            Internal constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextProperties"/> class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextProperties.Remove(System.String)">
            <summary>
            Remove a property
            </summary>
            <param name="key">the key for the entry to remove</param>
            <remarks>
            <para>
            Remove a property
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextProperties.GetKeys">
            <summary>
            Get the keys stored in the properties.
            </summary>
            <para>
            Gets the keys stored in the properties.
            </para>
            <returns>a set of the defined keys</returns>
        </member>
        <member name="M:log4net.Util.ThreadContextProperties.Clear">
            <summary>
            Clear all properties
            </summary>
            <remarks>
            <para>
            Clear all properties
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextProperties.GetProperties(System.Boolean)">
            <summary>
            Get the <c>PropertiesDictionary</c> for this thread.
            </summary>
            <param name="create">create the dictionary if it does not exist, otherwise return null if does not exist</param>
            <returns>the properties for this thread</returns>
            <remarks>
            <para>
            The collection returned is only to be used on the calling thread. If the
            caller needs to share the collection between different threads then the 
            caller must clone the collection before doing so.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextProperties.Item(System.String)">
            <summary>
            Gets or sets the value of a property
            </summary>
            <value>
            The value for the property with the specified key
            </value>
            <remarks>
            <para>
            Gets or sets the value of a property
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStack">
            <summary>
            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
            </summary>
            <remarks>
            <para>
            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.m_stack">
            <summary>
            The stack store.
            </summary>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.#ctor">
            <summary>
            Internal constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack"/> class. 
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Clear">
            <summary>
            Clears all the contextual information held in this stack.
            </summary>
            <remarks>
            <para>
            Clears all the contextual information held in this stack.
            Only call this if you think that this tread is being reused after
            a previous call execution which may not have completed correctly.
            You do not need to use this method if you always guarantee to call
            the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
            returned from <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
            for example by using the <c>using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))</c> 
            syntax.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Pop">
            <summary>
            Removes the top context from this stack.
            </summary>
            <returns>The message in the context that was removed from the top of this stack.</returns>
            <remarks>
            <para>
            Remove the top context from this stack, and return
            it to the caller. If this stack is empty then an
            empty string (not <see langword="null"/>) is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
            <summary>
            Pushes a new context message into this stack.
            </summary>
            <param name="message">The new context message.</param>
            <returns>
            An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
            </returns>
            <remarks>
            <para>
            Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
            is returned that can be used to clean up this stack. This
            can be easily combined with the <c>using</c> keyword to scope the
            context.
            </para>
            </remarks>
            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
            <code lang="C#">
            using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
            {
            	log.Warn("This should have an ThreadContext Stack message");
            }
            </code>
            </example>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
            <summary>
            Gets the current context information for this stack.
            </summary>
            <returns>The current context information.</returns>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.ToString">
            <summary>
            Gets the current context information for this stack.
            </summary>
            <returns>Gets the current context information</returns>
            <remarks>
            <para>
            Gets the current context information for this stack.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
            <summary>
            Get a portable version of this object
            </summary>
            <returns>the portable instance of this object</returns>
            <remarks>
            <para>
            Get a cross thread portable version of this object
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.Count">
            <summary>
            The number of messages in the stack
            </summary>
            <value>
            The current number of messages in the stack
            </value>
            <remarks>
            <para>
            The current number of messages in the stack. That is
            the number of times <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> has been called
            minus the number of times <see cref="M:log4net.Util.ThreadContextStack.Pop"/> has been called.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.InternalStack">
            <summary>
            Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
            </summary>
            <value>The internal storage stack</value>
            <remarks>
            <para>
            This property is provided only to support backward compatability 
            of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
            be modified.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStack.StackFrame">
            <summary>
            Inner class used to represent a single context frame in the stack.
            </summary>
            <remarks>
            <para>
            Inner class used to represent a single context frame in the stack.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
            <summary>
            Constructor
            </summary>
            <param name="message">The message for this context.</param>
            <param name="parent">The parent context in the chain.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame"/> class
            with the specified message and parent context.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
            <summary>
            Get the message.
            </summary>
            <value>The message.</value>
            <remarks>
            <para>
            Get the message.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
            <summary>
            Gets the full text of the context down to the root level.
            </summary>
            <value>
            The full text of the context down to the root level.
            </value>
            <remarks>
            <para>
            Gets the full text of the context down to the root level.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
            <summary>
            Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
            </summary>
            <remarks>
            <para>
            This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
            with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
            <summary>
            The ThreadContextStack internal stack
            </summary>
        </member>
        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
            <summary>
            The depth to trim the stack to when this instance is disposed
            </summary>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="frameStack">The internal stack used by the ThreadContextStack.</param>
            <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame"/> class with
            the specified stack and return depth.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
            <summary>
            Returns the stack to the correct depth.
            </summary>
            <remarks>
            <para>
            Returns the stack to the correct depth.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.ThreadContextStacks">
            <summary>
            Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
            </summary>
            <remarks>
            <para>
            Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
            </para>
            </remarks>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.Util.ThreadContextStacks.#ctor(log4net.Util.ContextPropertiesBase)">
            <summary>
            Internal constructor
            </summary>
            <remarks>
            <para>
            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStacks"/> class.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.ThreadContextStacks.declaringType">
            <summary>
            The fully qualified type of the ThreadContextStacks class.
            </summary>
            <remarks>
            Used by the internal logger to record the Type of the
            log message.
            </remarks>
        </member>
        <member name="P:log4net.Util.ThreadContextStacks.Item(System.String)">
            <summary>
            Gets the named thread context stack
            </summary>
            <value>
            The named stack
            </value>
            <remarks>
            <para>
            Gets the named thread context stack
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.Transform">
            <summary>
            Utility class for transforming strings.
            </summary>
            <remarks>
            <para>
            Utility class for transforming strings.
            </para>
            </remarks>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.Util.Transform.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Util.Transform"/> class. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String,System.String)">
            <summary>
            Write a string to an <see cref="T:System.Xml.XmlWriter"/>
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="textData">the string to write</param>
            <param name="invalidCharReplacement">The string to replace non XML compliant chars with</param>
            <remarks>
            <para>
            The test is escaped either using XML escape entities
            or using CDATA sections.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.MaskXmlInvalidCharacters(System.String,System.String)">
            <summary>
            Replace invalid XML characters in text string
            </summary>
            <param name="textData">the XML text input string</param>
            <param name="mask">the string to use in place of invalid characters</param>
            <returns>A string that does not contain invalid XML characters.</returns>
            <remarks>
            <para>
            Certain Unicode code points are not allowed in the XML InfoSet, for
            details see: <a href="http://www.w3.org/TR/REC-xml/#charsets">http://www.w3.org/TR/REC-xml/#charsets</a>.
            </para>
            <para>
            This method replaces any illegal characters in the input string
            with the mask string specified.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.Transform.CountSubstrings(System.String,System.String)">
            <summary>
            Count the number of times that the substring occurs in the text
            </summary>
            <param name="text">the text to search</param>
            <param name="substring">the substring to find</param>
            <returns>the number of times the substring occurs in the text</returns>
            <remarks>
            <para>
            The substring is assumed to be non repeating within itself.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.Transform.INVALIDCHARS">
            <summary>
            Characters illegal in XML 1.0
            </summary>
        </member>
        <member name="T:log4net.Util.WindowsSecurityContext">
            <summary>
            Impersonate a Windows Account
            </summary>
            <remarks>
            <para>
            This <see cref="T:log4net.Core.SecurityContext"/> impersonates a Windows account.
            </para>
            <para>
            How the impersonation is done depends on the value of <see cref="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)"/>.
            This allows the context to either impersonate a set of user credentials specified 
            using username, domain name and password or to revert to the process credentials.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>
            Default constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.ActivateOptions">
            <summary>
            Initialize the SecurityContext based on the options set.
            </summary>
            <remarks>
            <para>
            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
            activation scheme. The <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> method must 
            be called on this object after the configuration properties have
            been set. Until <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> is called this
            object is in an undefined state and must not be used. 
            </para>
            <para>
            If any of the configuration properties are modified then 
            <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> must be called again.
            </para>
            <para>
            The security context will try to Logon the specified user account and
            capture a primary token for impersonation.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, 
            <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> or <see cref="P:log4net.Util.WindowsSecurityContext.Password"/> properties were not specified.</exception>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)">
            <summary>
            Impersonate the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
            </summary>
            <param name="state">caller provided state</param>
            <returns>
            An <see cref="T:System.IDisposable"/> instance that will revoke the impersonation of this SecurityContext
            </returns>
            <remarks>
            <para>
            Depending on the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property either
            impersonate a user using credentials supplied or revert 
            to the process credentials.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.LogonUser(System.String,System.String,System.String)">
            <summary>
            Create a <see cref="T:System.Security.Principal.WindowsIdentity"/> given the userName, domainName and password.
            </summary>
            <param name="userName">the user name</param>
            <param name="domainName">the domain name</param>
            <param name="password">the password</param>
            <returns>the <see cref="T:System.Security.Principal.WindowsIdentity"/> for the account specified</returns>
            <remarks>
            <para>
            Uses the Windows API call LogonUser to get a principal token for the account. This
            token is used to initialize the WindowsIdentity.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.WindowsSecurityContext.Credentials">
            <summary>
            Gets or sets the impersonation mode for this security context
            </summary>
            <value>
            The impersonation mode for this security context
            </value>
            <remarks>
            <para>
            Impersonate either a user with user credentials or
            revert this thread to the credentials of the process.
            The value is one of the <see cref="T:log4net.Util.WindowsSecurityContext.ImpersonationMode"/>
            enum.
            </para>
            <para>
            The default value is <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
            </para>
            <para>
            When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
            the user's credentials are established using the
            <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.Password"/>
            values.
            </para>
            <para>
            When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process"/>
            no other properties need to be set. If the calling thread is 
            impersonating then it will be reverted back to the process credentials.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.WindowsSecurityContext.UserName">
            <summary>
            Gets or sets the Windows username for this security context
            </summary>
            <value>
            The Windows username for this security context
            </value>
            <remarks>
            <para>
            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.WindowsSecurityContext.DomainName">
            <summary>
            Gets or sets the Windows domain name for this security context
            </summary>
            <value>
            The Windows domain name for this security context
            </value>
            <remarks>
            <para>
            The default value for <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> is the local machine name
            taken from the <see cref="P:System.Environment.MachineName"/> property.
            </para>
            <para>
            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Util.WindowsSecurityContext.Password">
            <summary>
            Sets the password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
            </summary>
            <value>
            The password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
            </value>
            <remarks>
            <para>
            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Util.WindowsSecurityContext.ImpersonationMode">
            <summary>
            The impersonation modes for the <see cref="T:log4net.Util.WindowsSecurityContext"/>
            </summary>
            <remarks>
            <para>
            See the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property for
            details.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User">
            <summary>
            Impersonate a user using the credentials supplied
            </summary>
        </member>
        <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process">
            <summary>
            Revert this the thread to the credentials of the process
            </summary>
        </member>
        <member name="T:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext">
            <summary>
            Adds <see cref="T:System.IDisposable"/> to <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
            </summary>
            <remarks>
            <para>
            Helper class to expose the <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
            through the <see cref="T:System.IDisposable"/> interface.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.#ctor(System.Security.Principal.WindowsImpersonationContext)">
            <summary>
            Constructor
            </summary>
            <param name="impersonationContext">the impersonation context being wrapped</param>
            <remarks>
            <para>
            Constructor
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.Dispose">
            <summary>
            Revert the impersonation
            </summary>
            <remarks>
            <para>
            Revert the impersonation
            </para>
            </remarks>
        </member>
        <member name="T:log4net.GlobalContext">
            <summary>
            The log4net Global Context.
            </summary>
            <remarks>
            <para>
            The <c>GlobalContext</c> provides a location for global debugging 
            information to be stored.
            </para>
            <para>
            The global context has a properties map and these properties can 
            be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
            supports selecting and outputing these properties.
            </para>
            <para>
            By default the <c>log4net:HostName</c> property is set to the name of 
            the current machine.
            </para>
            </remarks>
            <example>
            <code lang="C#">
            GlobalContext.Properties["hostname"] = Environment.MachineName;
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.GlobalContext.#ctor">
            <summary>
            Private Constructor. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="F:log4net.GlobalContext.s_properties">
            <summary>
            The global context properties instance
            </summary>
        </member>
        <member name="P:log4net.GlobalContext.Properties">
            <summary>
            The global properties map.
            </summary>
            <value>
            The global properties map.
            </value>
            <remarks>
            <para>
            The global properties map.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.AssemblyInfo">
            <summary>
            Provides information about the environment the assembly has
            been built for.
            </summary>
        </member>
        <member name="F:log4net.AssemblyInfo.Version">
            <summary>Version of the assembly</summary>
        </member>
        <member name="F:log4net.AssemblyInfo.TargetFrameworkVersion">
            <summary>Version of the framework targeted</summary>
        </member>
        <member name="F:log4net.AssemblyInfo.TargetFramework">
            <summary>Type of framework targeted</summary>
        </member>
        <member name="F:log4net.AssemblyInfo.ClientProfile">
            <summary>Does it target a client profile?</summary>
        </member>
        <member name="P:log4net.AssemblyInfo.Info">
            <summary>
            Identifies the version and target for this assembly.
            </summary>
        </member>
        <member name="T:log4net.LogicalThreadContext">
            <summary>
            The log4net Logical Thread Context.
            </summary>
            <remarks>
            <para>
            The <c>LogicalThreadContext</c> provides a location for <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> specific debugging 
            information to be stored.
            The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> or <see cref="T:log4net.GlobalContext"/>
            properties with the same name.
            </para>
            <para>
            The Logical Thread Context has a properties map and a stack.
            The properties and stack can 
            be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
            supports selecting and outputting these properties.
            </para>
            <para>
            The Logical Thread Context provides a diagnostic context for the current call context. 
            This is an instrument for distinguishing interleaved log
            output from different sources. Log output is typically interleaved
            when a server handles multiple clients near-simultaneously.
            </para>
            <para>
            The Logical Thread Context is managed on a per <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> basis.
            </para>
            <para>
            The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> requires a link time 
            <see cref="T:System.Security.Permissions.SecurityPermission"/> for the
            <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure"/>.
            If the calling code does not have this permission then this context will be disabled.
            It will not store any property values set on it.
            </para>
            </remarks>
            <example>Example of using the thread context properties to store a username.
            <code lang="C#">
            LogicalThreadContext.Properties["user"] = userName;
            log.Info("This log message has a LogicalThreadContext Property called 'user'");
            </code>
            </example>
            <example>Example of how to push a message into the context stack
            <code lang="C#">
            using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
            {
            	log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
            
            } // at the end of the using block the message is automatically popped 
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.LogicalThreadContext.#ctor">
            <summary>
            Private Constructor. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.LogicalThreadContext.s_properties">
            <summary>
            The thread context properties instance
            </summary>
        </member>
        <member name="F:log4net.LogicalThreadContext.s_stacks">
            <summary>
            The thread context stacks instance
            </summary>
        </member>
        <member name="P:log4net.LogicalThreadContext.Properties">
            <summary>
            The thread properties map
            </summary>
            <value>
            The thread properties map
            </value>
            <remarks>
            <para>
            The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> 
            or <see cref="T:log4net.GlobalContext"/> properties with the same name.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.LogicalThreadContext.Stacks">
            <summary>
            The thread stacks
            </summary>
            <value>
            stack map
            </value>
            <remarks>
            <para>
            The logical thread stacks.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.LogManager">
            <summary>
            This class is used by client applications to request logger instances.
            </summary>
            <remarks>
            <para>
            This class has static methods that are used by a client to request
            a logger instance. The <see cref="M:GetLogger(string)"/> method is 
            used to retrieve a logger.
            </para>
            <para>
            See the <see cref="T:log4net.ILog"/> interface for more details.
            </para>
            </remarks>
            <example>Simple example of logging messages
            <code lang="C#">
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <seealso cref="T:log4net.ILog"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.LogManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.LogManager"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String)">
            <overloads>Returns the named logger if it exists.</overloads>
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the default repository) then it
            returns a reference to the logger, otherwise it returns <c>null</c>.
            </para>
            </remarks>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>The logger found, or <c>null</c> if no logger could be found.</returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the specified repository) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the logger doesn't exist in the specified 
            repository.
            </returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the repository for the specified assembly) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger, or <c>null</c> if the logger doesn't exist in the specified
            assembly's repository.
            </returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers">
            <overloads>Get the currently defined loggers.</overloads>
            <summary>
            Returns all the currently defined loggers in the default repository.
            </summary>
            <remarks>
            <para>The root logger is <b>not</b> included in the returned array.</para>
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified repository.
            </summary>
            <param name="repository">The repository to lookup in.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's repository.
            </summary>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String)">
            <overloads>Get or create a logger.</overloads>
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Type)">
            <summary>
            Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
            </summary>
            <remarks>
            Get the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="repository">The repository to lookup in.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository">
            <overloads>Shutdown a logger repository.</overloads>
            <summary>
            Shuts down the default repository.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            default repository.
            </para>
            <para>Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the repository specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            <paramref name="repository"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="repository">The repository to shutdown.</param>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository. The repository is looked up using
            the <paramref name="repositoryAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration">
            <overloads>Reset the configuration of a repository</overloads>
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="repository">The repository to reset.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository">
            <overloads>Get the logger repository.</overloads>
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the callers assembly (<see cref="M:Assembly.GetCallingAssembly()"/>).
            </para>
            </remarks>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repositoryAssembly"/> argument.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.GetRepository">
            <overloads>Get a logger repository.</overloads>
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the callers assembly (<see cref="M:Assembly.GetCallingAssembly()"/>).
            </para>
            </remarks>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetRepository(System.String)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repository"/> argument.
            </para>
            </remarks>
            <param name="repository">The repository to lookup in.</param>
        </member>
        <member name="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
            by the <paramref name="repositoryAssembly"/> argument.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Type)">
            <overloads>Create a domain</overloads>
            <summary>
            Creates a repository with the specified repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository()"/> will return 
            the same repository instance.
            </para>
            </remarks>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.Type)">
            <overloads>Create a logger repository.</overloads>
            <summary>
            Creates a repository with the specified repository type.
            </summary>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository()"/> will return 
            the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.String)">
            <summary>
            Creates a repository with the specified name.
            </summary>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a repository with the specified name and repository type.
            </summary>
            <remarks>
            <para>
            The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
            </para>
            </remarks>
            <param name="repository">The name of the repository, this must be unique to the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
            <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <remarks>
            <para>
            <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a repository for the specified assembly and repository type.
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
            specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
            <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
        </member>
        <member name="M:log4net.LogManager.GetAllRepositories">
            <summary>
            Gets the list of currently defined repositories.
            </summary>
            <remarks>
            <para>
            Get an array of all the <see cref="T:log4net.Repository.ILoggerRepository"/> objects that have been created.
            </para>
            </remarks>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLogger(log4net.Core.ILogger)">
            <summary>
            Looks up the wrapper object for the logger specified.
            </summary>
            <param name="logger">The logger to get the wrapper for.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLoggers(log4net.Core.ILogger[])">
            <summary>
            Looks up the wrapper objects for the loggers specified.
            </summary>
            <param name="loggers">The loggers to get the wrappers for.</param>
            <returns>The wrapper objects for the loggers specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.Core.ILogger)">
            <summary>
            Create the <see cref="T:log4net.Core.ILoggerWrapper"/> objects used by
            this manager.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="F:log4net.LogManager.s_wrapperMap">
            <summary>
            The wrapper map to use to hold the <see cref="T:log4net.Core.LogImpl"/> objects.
            </summary>
        </member>
        <member name="T:log4net.MDC">
            <summary>
            Implementation of Mapped Diagnostic Contexts.
            </summary>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
            based on a map instead of a stack. It provides <i>mapped
            diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
            MDC in short, is an instrument for distinguishing interleaved log
            output from different sources. Log output is typically interleaved
            when a server handles multiple clients near-simultaneously.
            </para>
            <para>
            The MDC is managed on a per thread basis.
            </para>
            </remarks>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.MDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.MDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.MDC.Get(System.String)">
            <summary>
            Gets the context value identified by the <paramref name="key"/> parameter.
            </summary>
            <param name="key">The key to lookup in the MDC.</param>
            <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            If the <paramref name="key"/> parameter does not look up to a
            previously defined context then <c>null</c> will be returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Set(System.String,System.String)">
            <summary>
            Add an entry to the MDC
            </summary>
            <param name="key">The key to store the value under.</param>
            <param name="value">The value to store.</param>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Puts a context value (the <paramref name="value"/> parameter) as identified
            with the <paramref name="key"/> parameter into the current thread's
            context map.
            </para>
            <para>
            If a value is already defined for the <paramref name="key"/>
            specified then the value will be replaced. If the <paramref name="value"/> 
            is specified as <c>null</c> then the key value mapping will be removed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Remove(System.String)">
            <summary>
            Removes the key value mapping for the key specified.
            </summary>
            <param name="key">The key to remove.</param>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Remove the specified entry from this thread's MDC
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.Clear">
            <summary>
            Clear all entries in the MDC
            </summary>
            <remarks>
            <note>
            <para>
            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
            </para>
            </note>
            <para>
            Remove all the entries from this thread's MDC
            </para>
            </remarks>
        </member>
        <member name="T:log4net.NDC">
            <summary>
            Implementation of Nested Diagnostic Contexts.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            A Nested Diagnostic Context, or NDC in short, is an instrument
            to distinguish interleaved log output from different sources. Log
            output is typically interleaved when a server handles multiple
            clients near-simultaneously.
            </para>
            <para>
            Interleaved log output can still be meaningful if each log entry
            from different contexts had a distinctive stamp. This is where NDCs
            come into play.
            </para>
            <para>
            Note that NDCs are managed on a per thread basis. The NDC class
            is made up of static methods that operate on the context of the
            calling thread.
            </para>
            </remarks>
            <example>How to push a message into the context
            <code lang="C#">
            using(NDC.Push("my context message"))
            {
            	... all log calls will have 'my context message' included ...
            
            } // at the end of the using block the message is automatically removed 
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
            <author>Gert Driesen</author>
        </member>
        <member name="M:log4net.NDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.NDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.NDC.Clear">
            <summary>
            Clears all the contextual information held on the current thread.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Clears the stack of NDC data held on the current thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.CloneStack">
            <summary>
            Creates a clone of the stack of context information.
            </summary>
            <returns>A clone of the context info for this thread.</returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            The results of this method can be passed to the <see cref="M:log4net.NDC.Inherit(System.Collections.Stack)"/> 
            method to allow child threads to inherit the context of their 
            parent thread.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
            <summary>
            Inherits the contextual information from another thread.
            </summary>
            <param name="stack">The context stack to inherit.</param>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            This thread will use the context information from the stack
            supplied. This can be used to initialize child threads with
            the same contextual information as their parent threads. These
            contexts will <b>NOT</b> be shared. Any further contexts that
            are pushed onto the stack will not be visible to the other.
            Call <see cref="M:log4net.NDC.CloneStack"/> to obtain a stack to pass to
            this method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Pop">
            <summary>
            Removes the top context from the stack.
            </summary>
            <returns>
            The message in the context that was removed from the top 
            of the stack.
            </returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Remove the top context from the stack, and return
            it to the caller. If the stack is empty then an
            empty string (not <c>null</c>) is returned.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.Push(System.String)">
            <summary>
            Pushes a new context message.
            </summary>
            <param name="message">The new context message.</param>
            <returns>
            An <see cref="T:System.IDisposable"/> that can be used to clean up 
            the context stack.
            </returns>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
            is returned that can be used to clean up the context stack. This
            can be easily combined with the <c>using</c> keyword to scope the
            context.
            </para>
            </remarks>
            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
            <code lang="C#">
            using(log4net.NDC.Push("NDC_Message"))
            {
            	log.Warn("This should have an NDC message");
            }
            </code>
            </example>
        </member>
        <member name="M:log4net.NDC.Remove">
            <summary>
            Removes the context information for this thread. It is
            not required to call this method.
            </summary>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            This method is not implemented.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
            <summary>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            </summary>
            <param name="maxDepth">The maximum depth of the stack</param>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            This may truncate the head of the stack. This only affects the 
            stack in the current thread. Also it does not prevent it from
            growing, it only sets the maximum depth at the time of the
            call. This can be used to return to a known context depth.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.NDC.Depth">
            <summary>
            Gets the current context depth.
            </summary>
            <value>The current context depth.</value>
            <remarks>
            <note>
            <para>
            The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
            The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
            </para>
            </note>
            <para>
            The number of context values pushed onto the context stack.
            </para>
            <para>
            Used to record the current depth of the context. This can then 
            be restored using the <see cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/> method.
            </para>
            </remarks>
            <seealso cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/>
        </member>
        <member name="T:log4net.ThreadContext">
            <summary>
            The log4net Thread Context.
            </summary>
            <remarks>
            <para>
            The <c>ThreadContext</c> provides a location for thread specific debugging 
            information to be stored.
            The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
            properties with the same name.
            </para>
            <para>
            The thread context has a properties map and a stack.
            The properties and stack can 
            be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
            supports selecting and outputting these properties.
            </para>
            <para>
            The Thread Context provides a diagnostic context for the current thread. 
            This is an instrument for distinguishing interleaved log
            output from different sources. Log output is typically interleaved
            when a server handles multiple clients near-simultaneously.
            </para>
            <para>
            The Thread Context is managed on a per thread basis.
            </para>
            </remarks>
            <example>Example of using the thread context properties to store a username.
            <code lang="C#">
            ThreadContext.Properties["user"] = userName;
            log.Info("This log message has a ThreadContext Property called 'user'");
            </code>
            </example>
            <example>Example of how to push a message into the context stack
            <code lang="C#">
            using(ThreadContext.Stacks["NDC"].Push("my context message"))
            {
            	log.Info("This log message has a ThreadContext Stack message that includes 'my context message'");
            
            } // at the end of the using block the message is automatically popped 
            </code>
            </example>
            <threadsafety static="true" instance="true"/>
            <author>Nicko Cadell</author>
        </member>
        <member name="M:log4net.ThreadContext.#ctor">
            <summary>
            Private Constructor. 
            </summary>
            <remarks>
            <para>
            Uses a private access modifier to prevent instantiation of this class.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.ThreadContext.s_properties">
            <summary>
            The thread context properties instance
            </summary>
        </member>
        <member name="F:log4net.ThreadContext.s_stacks">
            <summary>
            The thread context stacks instance
            </summary>
        </member>
        <member name="P:log4net.ThreadContext.Properties">
            <summary>
            The thread properties map
            </summary>
            <value>
            The thread properties map
            </value>
            <remarks>
            <para>
            The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
            properties with the same name.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.ThreadContext.Stacks">
            <summary>
            The thread stacks
            </summary>
            <value>
            stack map
            </value>
            <remarks>
            <para>
            The thread local stacks.
            </para>
            </remarks>
        </member>
    </members>
</doc>
tools\Boxstarter.Chocolatey\en-US\about_boxstarter_chocolatey.help.txt
TOPIC
	About_Boxstarter_Chocolatey

SYNOPSIS
	Describes how to use Boxstarter's Chocolatey module to setup a new 
	environment with your favorite Chocolatey packages.

DESCRIPTION
	Boxstarter's Chocolatey module compliments the Boxstarter Bootstrap 
	module by augmenting its unattended script execution environment 
	with Chocolatey goodness making it easy to setup a new box with 
	Chocolatey packages.

Installing Chocolatey
	Boxstarter will check to ensure if Chocolatey is installed. If 
	Chocolatey is not installed it will install it before running any 
	Chocolatey commands. Boxstarter will also check to see if the .Net 
	4.5 Framework is installed before installing Chocolatey since the 
	.Net 4 runtime is a prerequisite.

Chocolatey Boxstarter Packages
	When calling Install-BoxstarterPackage or just Boxstarter, a 
	Package name must be passed to the command. This is a 
	special Chocolatey package provided by the user that boxstarter asks 
	Chocolatey to install and it contains the script that is intended to 
	install all the applications and settings the user wants setup on the 
	target machine.

	This package script has access to all of the Chocolatey helper 
	functions as well as all Boxstarter logging, WinConfig and 
	Bootstrapper commands. See About_Boxstarter_Bootstrapper and 
	About_Boxstarter_Logging for information regarding those comands.

	This can also be a script file containing the chocolatey install 
	script. If the package name provided is a URL or resolves to a file. 
	Then it is assumed that this contains the chocolatey install 
	script and a .nupkg file will be created using the script.

Creating Packages
	Boxstarter provides some functions to make creation and deployment of 
	packages easy. Use New-BoxstarterPackage to either create a skeleton 
	package with a minimal nuspec and ChocolateyInstall.ps1 or to import an 
	existing package into boxstarter. This will put the package source files
	in $($Boxstarter.LocalRepo)\<package name>. To pack these source files
	use Invoke-BoxstarterBuild <package name>. You may also pack all 
	package	in your repo with Invoke-BoxstarterBuild -all. If you would like 
	to make	your local repo a network share, use Set-BoxstarterShare. 

Consuming Boxstarter Packages
	The primary gateway to kicking off a Boxstarter.Chocolatey installation 
	session is Install-BoxstarterPackage. While you may use this 
	powershell function, you can also call Boxstarter.bat which takes the 
	exact same parameters as Invoke-CocolateyBoxstarter. If you installed 
	Boxstarter.Chocolatey via Chocolatey or the setup.bat installer, 
	boxstarter.bat is placed in your path. Boxstarter.bat will import the 
	Boxstarter.Chocolatey module and create a powershell session bypassing 
	ExecutionPolicy. Boxstarter.bat is ideal for calling Boxstarter 
	remotely. Simply share the Boxstarter base directory and you can access 
	it via \\serverName\Boxstarter\Boxstarter.bat.

Package Sources
	Install-BoxstarterPackage (or Boxstarter) expects just the name of the
	bootstrapping package - just like CINST or Nuget. Boxstarter will search
	the following locations in this order:

	- $Boxstarter.LocalRepo: This is the local repository that by default is
	in the BuildPackages directory in the Boxstarter Base Boxstarter Module 
	directory ($Boxstarter.BaseDir). You can change the default by using the
	Set-BoxstarterConfig function with the -LocalRepo argument.

	- Chocolatey.org: The public chocolatey feed at http://chocolatey.org/api/v2

	- Myget: The Boxstarter Community Feed at http://www.myget.org/F/boxstarter/api/v2

	The last two remote sources can be configured by editing 
	$($Boxstarter.BaseDir)\Boxstarter.Config.

Running Boxstarter Remotely
	When using the Computername, ConnectionURI or Session parameters of
	Install-BoxstarterPackage, Boxstarter will attempt to install the package
	the the remote maching it is directed at. Boxstarter will check to ensure
	that all necessary client side Powershell Remoting settings are correctly
	configured. If they are not, Boxstarter will prompt to confirm whether it 
	should enable them unless the -Force parameter is used. The -Force 
	parameter will suppress prompts. As part of this configuration, Boxstarter 
	will enable CredSSP authentication to ensure that any network connection 
	that the package may try to establish will pass the users credentials.

	Boxstarter will also attempt to enable Powershell remoting on the target 
	machine if it is not already installed. Boxstarter can only do this if the
	WMI firewall ports are open on the target computer. If they are not and 
	powershell remoting is not enabled on the target machine, the installation 
	will fail. Users can easily enable powershell remoting manually on the 
	target machine by opening an administrative powershell console on the remote
	computer and then issuing 'Enable-PSRemoting -Force'.

Reboot detection
	Perhaps the most compelling feature of Boxstarter is its way to handle 
	reboots during an involved environment setup package. Especially when 
	you are running patches, installing services and downloading complex 
	applications. Boxstarter intercepts all calls to Chocolatey install 
	commands and checks for pending reboots prior to calling Chocolatey. If 
	a pending reboot exists, Boxstarter reboots the machine and automatically
	logs on with the credentials you provided providing an unattended 
	installation session. After the Chocolatey package completes, if the 
	package fails and returns the common MSI reboot needed exit code of 
	3010, Boxstarter will reboot which will likely cause the package to 
	succeed on the next run. See about_boxstarter_bootstrapper for more 
	details about the rebooting logic and how you can disable or manually 
	invoke them.

Package Authoring Considerations
	Boxstarter can run any Chocolatey package and any valid powershell 
	inside that package. However, there are a few things to consider 
	that may make a Boxstarter Chocolatey package a better installation 
	experience.

	- Boxstarter Chocolatey packages should be repeatable. This is 
	especially true if you anticipate the need to reboot. When Boxstarter 
	reboots, it starts running the package from the beginning. So ensure 
	that there is nothing that would cause the package to break if run 
	twice.

	- If you have several Chocolatey packages that you want to install 
	during the Boxstarter session, it is preferable to call CINST 
	directly from inside your ChocolateyInstall instead of declaring 
	them as dependencies. This is because Boxstarter cannot intercept 
	Chocolatey dependencies so those packages will not have any reboot 
	protections.

SEE ALSO

	http://boxstarter.org
	Install-BoxstarterPackage
	Invoke-ChocolateyBoxstarter
	about_boxstarter_logging
	Invoke-Boxstarter
	Invoke-Reboot
	New-BoxstarterPackage
	Invoke-BoxstarterBuild
	Set-BoxstarterShare
	about_boxstarter_variable_in_bootstrapper
	about_boxstarter_logging
	about_boxstarter_variable_in_chocolatey
	Set-BoxstarterConfig
tools\Boxstarter.Chocolatey\en-US\About_Boxstarter_Variable_In_Chocolatey.help.txt
TOPIC
	About_Boxstarter_Variable_In_Chocolatey

SYNOPSIS
	A Hashtable for persisting Boxstarter settings.

DESCRIPTION	
	The Boxstarter variable is a hashtable that is globaly accesible. 
	Different Boxstarter modules may store different settings.
	Some of the Chocolatey module settings available from the 
	Boxstarter variable can also be set from the 
	Invoke-ChocolateyBoxstarter Command.

BOXSTARTER VARIABLE SETTINGS
	ProgramFiles86
		Unless the environment has been specilly conficured, this 
		points to the 'Program Files' folder in the system drive on 
		x86 machines and the 'Program Files (x86)' folder in the 
		system drive on 64 bit machines.

	Package
		The name of the bootstrapper package running in Boxstarter.

	LocalRepo
		Path to the local directory containing packages that 
		boxstarter will scan when looking for a package. By default 
		this is the BuildPackeged directory under the base Boxstarter 
		directory usually in the ProgramData directory. The 
		default can be changed by using the	Set-BoxstarterConfig 
		function with the -LocalRepo argument.

	NugetSources
		The Nuget feeds that Boxstarter checks for the Boxstarter 
		Bootstrap package. By default this is the chocolatey and 
		Myget Boxstarter community feed. This can be changed by 
		using the Set-BoxstarterConfig function with the -NugetSources 
		argument.

SEE ALSO
	http://boxstarter.org
	About_Boxstarter_Variable_In_Bootstrapper
	Invoke-ChocolateyBoxstarter
	Set-BoxstarterConfig
tools\Boxstarter.Chocolatey\Enable-BoxstarterClientRemoting.ps1
function Enable-BoxstarterClientRemoting {
<#
.SYNOPSIS
Enables and configures PowerShell remoting from the client

.DESCRIPTION
Enable-BoxstarterClientRemoting will check if PowerShell Remoting is enabled on the local 
machine. If not, it will enable it and it will also add all remote hosts to trust to the 
WSMAN trusted hosts list. The original trusted host list will be returned. When running 
Install-BoxstarterPackage, Boxstarter will roll back to the original trusted hosts when 
the package install is complete.

.PARAMETER RemoteHostsToTrust
A list of ComputerNames to add to the WSMAN Trusted hosts list.

.OUTPUTS
A list of the original trusted hosts on the local machine as well as a bool indicating 
if PowerShell Remoting was successfully completed.

.EXAMPLE
Enable-BoxstarterClientRemoting box1,box2

.LINK
http://boxstarter.org
Install-BoxstarterPackage

#>
    param(
    [string[]] $RemoteHostsToTrust
    )
    if(Test-Admin) { $elevated = $true }

    $Result=@{    
        Success=$False;
        PreviousTrustedHosts=$null;
    }
    Write-BoxstarterMessage "Configuring local PowerShell Remoting settings..."
    
    if(!(Get-Command Test-WSMan -ErrorAction SilentlyContinue)) {
        #I have only seen this on VisualStudio.Com Hosted build servers
        $Result.Success=$True
        return $Result
    }

    try { $wsman = Test-WSMan -ErrorAction Stop } catch { $credssp = $_}
    if($credssp.Exception -ne $null){
        Write-BoxstarterMessage "Local PowerShell Remoting is not enabled" -Verbose
        Write-BoxstarterMessage "Error returned $($credssp.ToString())" -Verbose
        if($elevated -and ($Force -or (Confirm-Choice "PowerShell remoting is not enabled locally. Should Boxstarter enable PowerShell remoting?")))
        {
            Write-BoxstarterMessage "Enabling PowerShell Remoting on local machine"
            $enableArgs=@{Force=$true}
            $command=Get-Command Enable-PSRemoting
            if($command.Parameters.Keys -contains "skipnetworkprofilecheck"){
                $enableArgs.skipnetworkprofilecheck=$true
            }
            Enable-PSRemoting @enableArgs | Out-Null
        }else {
            Write-BoxstarterMessage "Not enabling local PowerShell Remoting aborting package install"
            return $Result
        }
    }

    $newHosts = @()
    $Result.PreviousTrustedHosts=(Get-Item "wsman:\localhost\client\trustedhosts").Value
    $hostArray=$Result.PreviousTrustedHosts.Split(",")
    if($hostArray -contains "*") {
        $Result.PreviousTrustedHosts = $null
    }
    else {
        $RemoteHostsToTrust | ? { $hostArray -NotContains $_ } | % { $newHosts += $_ }
        if($newHosts.Count -gt 0) {
            $strNewHosts = $newHosts -join ","
            if($Result.PreviousTrustedHosts.Length -gt 0){
                $strNewHosts = $Result.PreviousTrustedHosts + "," + $strNewHosts
            }
            Write-BoxstarterMessage "Adding $strNewHosts to allowed wsman hosts" -Verbose
            Set-Item "wsman:\localhost\client\trustedhosts" -Value $strNewHosts -Force
        }
    }

    $Result.Success=$True
    return $Result
}
tools\Boxstarter.Chocolatey\Enable-BoxstarterCredSSP.ps1
function Enable-BoxstarterCredSSP {
<#
.SYNOPSIS
Enables and configures CredSSP Authentication to be used in PowerShell remoting sessions

.DESCRIPTION
Enabling CredSSP allows a caller from one remote session to authenticate on other remote 
resources. This is known as credential delegation. By default, PowerShell sessions do not 
use credSSP and therefore cannot bake a "second hop" to use other remote resources that 
require their authentication token.

Enable-BoxstarterCredSSP allows remote boxstarter installs to use credential delegation 
in the case where one might keep some resources on another remote machine that need to be 
installed into their current remote session.

This command will enable CredSSP and add all RemoteHostsToTrust to the CredSSP trusted 
hosts list. It will also edit the users group policy to allow Fresh Credential Delegation.

.PARAMETER RemoteHostsToTrust
A list of ComputerNames to add to the CredSSP Trusted hosts list.

.OUTPUTS
A list of the original trusted hosts on the local machine.

.EXAMPLE
Enable-BoxstarterCredSSP box1,box2

.LINK
http://boxstarter.org
Install-BoxstarterPackage

#>
    param(
    [string[]] $RemoteHostsToTrust
    )
    $Result=@{    
        Success=$False;
        PreviousCSSPTrustedHosts=$null;
        PreviousFreshCredDelegationHostCount=0
    }
    if(!(Test-Admin)) {
        return $result
    }
    Write-BoxstarterMessage "Configuring CredSSP settings..."
    $credssp = Get-WSManCredSSP

    $ComputersToAdd = @()
    $idxHosts=$credssp[0].IndexOf(": ")
    if($idxHosts -gt -1){
        $credsspEnabled=$True
        $Result.PreviousCSSPTrustedHosts=$credssp[0].substring($idxHosts+2)
        $hostArray=$Result.PreviousCSSPTrustedHosts.Split(",")
        $RemoteHostsToTrust | ? { $hostArray -notcontains "wsman/$_" } | % { $ComputersToAdd += $_ }
    }
    else {
        $ComputersToAdd = $RemoteHostsToTrust
    }

    if($ComputersToAdd.Count -gt 0){
        Write-BoxstarterMessage "Adding $($ComputersToAdd -join ',') to allowed credSSP hosts" -Verbose
        try {
            Enable-WSManCredSSP -DelegateComputer $ComputersToAdd -Role Client -Force -ErrorAction Stop | Out-Null
        } 
        catch {
            Write-BoxstarterMessage "Enable-WSManCredSSP failed with: $_" -Verbose
            return $result
        }
    }

    $key = Get-CredentialDelegationKey
    if (!(Test-Path "$key\CredentialsDelegation")) {
        New-Item $key -Name CredentialsDelegation | Out-Null
    }
    $key = Join-Path $key "CredentialsDelegation"
    New-ItemProperty -Path "$key" -Name "ConcatenateDefaults_AllowFresh" -Value 1 -PropertyType Dword -Force | Out-Null
    New-ItemProperty -Path "$key" -Name "ConcatenateDefaults_AllowFreshNTLMOnly" -Value 1 -PropertyType Dword -Force | Out-Null

    $result.PreviousFreshNTLMCredDelegationHostCount = Set-CredentialDelegation $key 'AllowFreshCredentialsWhenNTLMOnly' $RemoteHostsToTrust
    $result.PreviousFreshCredDelegationHostCount = Set-CredentialDelegation $key 'AllowFreshCredentials' $RemoteHostsToTrust

    $Result.Success=$True
    return $Result
}

function Set-CredentialDelegation($key, $subKey, $allowed){
    New-ItemProperty -Path "$key" -Name $subKey -Value 1 -PropertyType Dword -Force | Out-Null
    $policyNode = Join-Path $key $subKey
    if (!(Test-Path $policyNode)) {
        md $policyNode | Out-Null
    }
    $currentHostProps=@()
    (Get-Item $policyNode).Property | % {
        $currentHostProps += (Get-ItemProperty -Path $policyNode -Name $_).($_)
    }
    $currentLength = $currentHostProps.Length
    $idx=$currentLength
    $allowed | ? { $currentHostProps -notcontains "wsman/$_"} | % {
        ++$idx
        New-ItemProperty -Path $policyNode -Name "$idx" -Value "wsman/$_" -PropertyType String -Force | Out-Null
    }

    return $currentLength
}

function Get-CredentialDelegationKey {
    return "HKLM:\SOFTWARE\Policies\Microsoft\Windows"
}
tools\Boxstarter.Chocolatey\Enable-RemotePsRemoting.ps1
function Enable-RemotePsRemoting {
##############################################################################
##
## Enable-RemotePsRemoting
##
## From Windows PowerShell Cookbook (O'Reilly)
## by Lee Holmes (http://www.leeholmes.com/guide)
##
##############################################################################

<#

.SYNOPSIS

Enables PowerShell Remoting on a remote computer. Requires that the machine
responds to WMI requests, and that its operating system is Windows Vista or
later.

.EXAMPLE

Enable-RemotePsRemoting <Computer>

#>

param(
    ## The computer on which to enable remoting
    $Computername,

    ## The credential to use when connecting
    [Management.Automation.PsCredential]$Credential
)

    $credential = Get-Credential $credential
    $username = $credential.Username
    $password = $credential.GetNetworkCredential().Password

    $script = @"

    `$log = Join-Path `$env:TEMP Enable-RemotePsRemoting.output.txt
    Remove-Item -Force `$log -ErrorAction SilentlyContinue
    Start-Transcript -Path `$log

    if(!(1,3,4,5 -contains (Get-WmiObject win32_computersystem).DomainRole)) { 
        `$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')) 
        `$connections = `$networkListManager.GetNetworkConnections() 

        `$connections | % {`$_.GetNetwork().SetCategory(1)}
    } 

    ## Create a task that will run with full network privileges.
    ## In this task, we call Enable-PsRemoting
    schtasks /CREATE /TN 'Temp Enable Remoting' /SC WEEKLY /RL HIGHEST ``
        /RU $username /RP "$password" ``
        /TR "powershell -noprofile -command Enable-PsRemoting -Force | Out-File (Join-Path `$env:TEMP Enable-PSRemoting.txt)" /F |
        Out-String

    ##Give task a normal priority
    `$taskFile = Join-Path `$env:TEMP RemotingTask.txt
    [xml]`$xml = schtasks /QUERY /TN 'Temp Enable Remoting' /XML
    `$xml.Task.Settings.Priority="4"
    `$xml.Save(`$taskFile)
    schtasks /CREATE /TN 'Enable Remoting' /RU $username /RP "$password" /XML "`$taskFile" /F | Out-String
    schtasks /DELETE /TN 'Temp Enable Remoting' /F | Out-String

    schtasks /RUN /TN 'Enable Remoting' | Out-String

    `$securePass = ConvertTo-SecureString "$password" -AsPlainText -Force
    `$credential =
        New-Object Management.Automation.PsCredential $username,`$securepass

    ## Wait for the remoting changes to come into effect
    for(`$count = 1; `$count -le 10; `$count++)
    {
        `$output = Invoke-Command localhost { 1 } -Cred `$credential ``
            -ErrorAction SilentlyContinue
        if(`$output -eq 1) { break; }

        "Attempt `$count : Not ready yet."
        Sleep 5
    }

    ## Delete the temporary task
    schtasks /DELETE /TN 'Enable Remoting' /F | Out-String
    Stop-Transcript

"@

    $commandBytes = [System.Text.Encoding]::Unicode.GetBytes($script)
    $encoded = [Convert]::ToBase64String($commandBytes)

    Write-BoxstarterMessage "Configuring $computername" -Verbose
    $command = "powershell -NoProfile -EncodedCommand $encoded"
    $null = Invoke-WmiMethod -Computer $computername -Credential $credential `
        Win32_Process Create -Args $command
    Sleep 10
    Write-BoxstarterMessage "Testing connection" -Verbose
    for($count = 1; $count -le 100; $count++) {
        $wmiResult = Invoke-Command $computername {
            Get-WmiObject Win32_ComputerSystem } -Credential $credential -ErrorAction SilentlyContinue
        if($wmiResult -ne $Null){
            Write-BoxstarterMessage "PowerShell Remoting enabled successfully"
            break
        }
        else {
            Write-BoxstarterMessage "Attempt $count failed." -Verbose
        }
        if($global:Error.Count -gt 0){
            Write-BoxstarterMessage "$($global:Error[0])" -Verbose
            $global:Error.RemoveAt(0)
        }
    }
}
tools\Boxstarter.Chocolatey\Get-BoxstarterConfig.ps1
function Get-BoxStarterConfig {
<#
.SYNOPSIS
Retrieves persisted Boxstarter configuration settings.

.DESCRIPTION
Boxstarter stores configuration data in an xml file in the Boxstarter base
directory. The Get-BoxstarterConfig function is a convenience function
for reading those settings.

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
about_boxstarter_variable_in_chocolatey
Set-BoxstarterConfig
#>    
    [xml]$configXml = Get-Content (Join-Path $Boxstarter.BaseDir BoxStarter.config)
    if($configXml.config.LocalRepo -ne $null){
        $localRepo=$configXml.config.LocalRepo
    } 
    else {
        if($Boxstarter.baseDir){
            $localRepo=(Join-Path $Boxstarter.baseDir BuildPackages)
        }
    }
    return @{
        LocalRepo=$localRepo;
        NugetSources=$configXml.config.NugetSources;
        ChocolateyRepo=$configXml.config.ChocolateyRepo;
        ChocolateyPackage=$configXml.config.ChocolateyPackage
    }
}
tools\Boxstarter.Chocolatey\Get-PackageRoot.ps1
function Get-PackageRoot{
<#
.SYNOPSIS
Returns the Root path of a Boxstarter Package given the Chocolatey $MyInvocation

.DESCRIPTION
This function is intended to be called from inside a running
ChocolateyInstall.ps1 file. It returns the root path of the package
which is one level above the Tools directory. This can be helpful
when you need to reference any files that you copied to your 
Boxstarter Repository which copies them to this location using
New-BoxstarterPackage.

.PARAMETER Invocation
This is $MyInvocation instance accessible from ChocolateyInstall.ps1

.EXAMPLE
Copy-Item "$env:programfiles\Sublime Text 2\Data\*" Package\Sublime -recurse
New_BoxstarterPackage MyPackage .\Package
#Edit install script
Notepad $($Boxstarter.LocalRepo)\MyPackage\Tools\chocolateyInstall.ps1
Invoke-BoxstarterBuild MyPackage
Invoke-ChocolateyBoxstarter MyPackage

--ChocolateyInstall.ps1--
try {
    cinst sublimetext2
    $sublimeDir = "$env:programfiles\Sublime Text 2"
    mkdir "$sublimeDir\data"
    copy-item (Join-Path Get-PackageRoot($MyInvocation) 'sublime\*') "$sublimeDir\data" -Force -Recurse
    Write-ChocolateySuccess 'MyPackage'
} catch {
  Write-ChocolateyFailure 'MyPackage' $($_.Exception.Message)
  throw
}

.NOTES
Get-PackageRoot is intended to be called from ChocolateyInstall.ps1 
and will throw if it is called from another file.

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
New_BoxstarterPackage
Invoke-ChocolateyBoxstarter
Invoke-BoxstarterBuild
#>
    param(
        [Parameter(Mandatory=$true)]
        [System.Management.Automation.InvocationInfo]$invocation
    )
    if($invocation.MyCommand.Definition -eq $null -or !($invocation.MyCommand.Definition.ToLower().EndsWith("tools\chocolateyinstall.ps1"))){
        throw "Get-PackageRoot can only be used inside of chocolateyinstall.ps1. You Tried to call it from $($invocation.MyCommand.Definition)"
    }
    return (Split-Path -parent(Split-Path -parent $invocation.MyCommand.Definition))
}
tools\Boxstarter.Chocolatey\Init-Settings.ps1
$config = Get-BoxstarterConfig
if(!$BoxStarter.LocalRepo){
   $BoxStarter.LocalRepo=$config.LocalRepo
}
if($BoxStarter.LocalRepo.StartsWith("$env:windir")) {
   $BoxStarter.LocalRepo = Join-Path $(Get-BoxstarterTempDir) "BuildPackages"
   if(!(Test-Path $BoxStarter.LocalRepo)) { mkdir $BoxStarter.LocalRepo | Out-Null }
}
$Boxstarter.NugetSources=$config.NugetSources
tools\Boxstarter.Chocolatey\Install-BoxstarterPackage.ps1
function Install-BoxstarterPackage {
<#
.SYNOPSIS
Installs a Boxstarter package

.DESCRIPTION
This function wraps a Chocolatey Install and provides these additional features
 - Installs chocolatey if it is not already installed
 - Installs the .net 4.5 framework if it is not installed which is a chocolatey requirement
 - Disables windows update service during installation to prevent installation conflicts and minimize the need for reboots
 - Imports the Boxstarter.WinConfig module that provides functions for customizing windows
 - Detects pending reboots and restarts the machine when necessary to avoid installation failures
 - Provides Reboot Resiliency by ensuring the package installation is immediately restarted up on reboot if there is a reboot during the installation.
 - Ensures Installation runs under administrator permissions
 - Supports remote installations allowing packages to be installed on a remote machine

 The .nupkg file for the provided package name is searched in the following locations and order:
 - .\BuildPackages relative to the parent directory of the module file
 - The Chocolatey feed
 - The Boxstarter feed on MyGet
 This can be configured by editing $($Boxstarter.BaseDir)\Boxstarter.Config

 If the package name provided is a URL or resolves to a file, then 
 it is assumed that this contains the chocolatey install script and
 a .nupkg file will be created using the script.

 Boxstarter can install packages onto a remote machine. To accomplish this,
 use either the ComputerName, Session or ConnectionURI parameters. Boxstarter uses
 PowerShell remoting to establish an interactive session on the remote computer.
 Boxstarter configures all the necessary client side remoting settings necessary if 
 they are not already configured. Boxstarter will prompt the user to verify that 
 this is OK. Using the -Force switch will suppress the prompt. Boxstarter also ensures
 that CredSSP authentication is enabled so that any network calls made by a package will 
 forward the users credentials.

 PowerShell Remoting must be enabled on the target machine in order to establish a connection. 
 If that machine's WMI ports are accessible, Boxstarter can enable PowerShell remoting 
 on the remote machine on its own. Otherwise, it can be manually enabled by entering 

 Enable-PSRemoting -Force

 In an administrative PowerShell console on the remote machine.
 
 .PARAMETER ComputerName
 If provided, Boxstarter will install the specified package name on all computers.
 Boxstarter will create a Remote Session on each computer using the Credentials 
 given in the Credential parameter.

 .PARAMETER ConnectionURI
 Specifies one or more Uniform Resource Identifiers (URI) that Boxstarter will use 
 to establish a connection with the remote computers upon which the package should 
 be installed. Use this parameter if you need to use a non default PORT or SSL.

 .PARAMETER Session
 If provided, Boxstarter will install the specified package in all given Windows 
 PowerShell sessions. Note that these sessions may be closed by the time 
 Install-BoxstarterPackage finishes. If Boxstarter needs to restart the remote 
 computer, the session will be discarded and a new session will be created using 
 the ConnectionURI of the original session.

 .PARAMETER BoxstarterConnectionConfig
 If provided, Boxstarter will install the specified package name on all computers
 included in the BoxstarterConnectionConfig. This object contains a ComputerName
 and a PSCredential. Use this object if you need to pass different computers
 requiring different credentials.

 .PARAMETER PackageName
 The names of one or more Nuget Packages to be installed or URIs or 
 file paths pointing to a chocolatey script. If using package names,
 the .nupkg file for the provided package names are searched in the 
 following locations and order:
 - .\BuildPackages relative to the parent directory of the module file
 - The Chocolatey feed
 - The Boxstarter feed on MyGet

.PARAMETER DisableReboots
If set, reboots are suppressed.

.PARAMETER Credential
The credentials to use for auto logins after reboots. If installing on
a remote machine, this credential will also be used to establish the 
connection to the remote machine and also for any scheduled task that
boxstarter needs to create and run under a local context.

.PARAMETER KeepWindowOpen
Enabling this switch will prevent the command window from closing and 
prompt the user to pres the Enter key before the window closes. This 
is ideal when not invoking boxstarter from a console.

.Parameter LocalRepo
This is the path to the local boxstarter repository where boxstarter 
should look for .nupkg files to install. By default this is located 
in the BuildPackages directory just under the root Boxstarter 
directory but can be changed with Set-BoxstarterConfig.

.NOTES
If specifying only one package, Boxstarter calls chocolatey with the 
-force argument and deletes the previously installed package directory. 
This means that regardless of whether or not the package had been 
installed previously, Boxstarter will attempt to download and reinstall it.
This only holds true for the outer package. If the package contains calls 
to CINST for additional packages, those installs will not reinstall if 
previously installed.

If an array of package names are passed to Install-BoxstarterPackage, 
Boxstarter will NOT apply the above reinstall logic and will skip the 
install for any package that had been previously installed.

When establishing a remote connection, Boxstarter uses CredSSP 
authentication so that the session can access any network resources 
normally accessible to the Credential. If necessary, Boxstarter 
configures CredSSP authentication on both the local and remote 
machines as well as the necessary Group Policy and WSMan settings 
for credential delegation. When the installation completes, 
Boxstarter rolls back all settings that it changed to their original 
state.

If Boxstarter is not running in an elevated console, it will not attempt 
to enable CredSSP locally if it is not already enabled. It will also not 
try to enable PowerShell remoting if not running as administrator.

When using a Windows PowerShell session instead of ComputerName or 
ConnectionURI, Boxstarter will use the authentication mechanism of the 
existing session and will not configure CredSSP if the session provided 
is not using CredSSP. If the session is not using CredSSP, it may be 
denied access to network resources normally accessible to the Credential 
being used. If you do need to access network resources external to the 
session, you should use CredSSP when establishing the connection.

.INPUTS
ComputerName, ConnrectionURI and Session may all be specified on the 
pipeline.

.OUTPUTS
Returns a PSObject for each session, ComputerName or ConnectionURI or a 
single PSObject for local installations. The PSObject has the following 
properties:

ComputerName: The name of the computer where the package was installed

StartTime: The time that the installation began

FinishTime: The time that Boxstarter finished the installation

Completed: True or False indicating if Boxstarter was able to complete 
the installation without a terminating exception interrupting the install. 
Even if this value is True, it does not mean that all components installed 
in the package succeeded. Boxstarter will not terminate an installation if 
individual Chocolatey packages fail. Use the Errors property to discover 
errors that were raised throughout the installation.

Errors: An array of all errors encountered during the duration of the 
installation.

.EXAMPLE
Invoke-ChocolateyBoxstarter "example1","example2"

This installs the example1 and example2 .nupkg files. If pending 
reboots are detected, boxstarter will restart the machine. Boxstarter
will not perform automatic logins after restart since no Credential
was given.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage -Package https://gist.github.com/mwrock/6771863/raw/b579aa269c791a53ee1481ad01711b60090db1e2/gistfile1.txt `
   -Credential $cred

This installs the script uploaded to the github gist. The credentials
of the user mwrock are used to automatically login the user if 
boxstarter needs to reboot the machine.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage -ComputerName MyOtherComputer.mydomain.com -Package MyPackage -Credential $cred

This installs the MyPackage package on MyOtherComputer.mydomain.com.

.EXAMPLE
$cred=Get-Credential mwrock
$session=New-PSSession SomeComputer -Credential $cred
Install-BoxstarterPackage -Session $session -Package MyPackage -Credential $cred

This installs the MyPackage package on an existing session established with 
SomeComputer. A Credential is still passed to Boxstarter even though it is 
also used to establish the session because Boxstarter will need it for logons
and creating Scheduled Tasks on SomeComputer. If Boxstarter does need to 
reboot SomeComputer, it will need to create a new session after SomeComputer
has rebooted and then $session will no longer be in an Available state when
Install-BoxstarterPackage completes.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage -ConnectionURI http://RemoteComputer:59876/wsman -Package MyPackage -Credential $cred

This installs the MyPackage package on RemoteComputer which does not
listen on the default wsman port but has been configured to listen 
on port 59876.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage -ComputerName MyOtherComputer.mydomain.com -Package MyPackage -Credential $cred -Force

This installs the MyPackage package on MyOtherComputer.mydomain.com.
Because the -Force parameter is used, Boxstarter will not prompt the
user to confirm that it is OK to enable PowerShell remoting if it is 
not already enabled. It will attempt to enable it without prompts.

.EXAMPLE
$cred=Get-Credential mwrock
"computer1","computer2" | Install-BoxstarterPackage -Package MyPackage -Credential $cred -Force

This installs the MyPackage package on computer1 and computer2
Because the -Force parameter is used, Boxstarter will not prompt the
user to confirm that it is OK to enable PowerShell remoting if it is 
not already enabled. It will attempt to enable it without prompts.

Using -Force is especially advisable when installing packages on multiple 
computers because otherwise, if one computer is not accessible, the command 
will prompt the user if it is OK to try and configure the computer before 
proceeding to the other computers.

.EXAMPLE
$cred1=Get-Credential mwrock
$cred2=Get-Credential domain\mwrock
(New-Object -TypeName BoxstarterConnectionConfig -ArgumentList "computer1",$cred1), `
(New-Object -TypeName BoxstarterConnectionConfig -ArgumentList "computer2",$cred2) |
Install-BoxstarterPackage -Package MyPackage

This installs the MyPackage package on computer1 and computer2 and uses
different credentials for each computer.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage script.ps1 -Credential $cred

This installs the script located at script.ps1 
in the command line's current directory.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage \\server\share\script.ps1 -Credential $cred

This invokes boxstarter and installs the script located at the 
specified share.

.EXAMPLE
$cred=Get-Credential mwrock
Install-BoxstarterPackage win8Install -LocalRepo \\server\share\boxstarter -Credential $cred

This installs the Win8Install .nupkg. Boxstarter will look 
for the Win8Install .nupkg file in the \\serer\share\boxstarter 
directory.


.LINK
http://boxstarter.org
about_boxstarter_chocolatey
#>
    [CmdletBinding(DefaultParameterSetName="Package")]
	param(
        [parameter(Mandatory=$true, Position=0, ValueFromPipeline=$True, ParameterSetName="BoxstarterConnectionConfig")]
        [BoxstarterConnectionConfig[]]$BoxstarterConnectionConfig,
        [parameter(Mandatory=$true, Position=0, ValueFromPipeline=$True, ParameterSetName="ComputerName")]
        [string[]]$ComputerName,
        [parameter(Mandatory=$true, Position=0, ValueFromPipeline=$True, ParameterSetName="ConnectionUri")]
        [Uri[]]$ConnectionUri,
        [parameter(Mandatory=$true, Position=0, ValueFromPipeline=$True, ParameterSetName="Session")]
        [System.Management.Automation.Runspaces.PSSession[]]$Session,
        [parameter(Mandatory=$true, Position=0, ParameterSetName="Package")]
        [parameter(Mandatory=$true, Position=1, ParameterSetName="ComputerName")]
        [parameter(Mandatory=$true, Position=1, ParameterSetName="ConnectionUri")]
        [parameter(Mandatory=$true, Position=1, ParameterSetName="Session")]
        [parameter(Mandatory=$true, Position=1, ParameterSetName="BoxstarterConnectionConfig")]
        [string[]]$PackageName,
        [Management.Automation.PsCredential]$Credential,
        [switch]$Force,
        [switch]$DisableReboots,
        [parameter(ParameterSetName="Package")]
        [switch]$KeepWindowOpen,
        [string]$LocalRepo,
        [switch]$DisableRestart
    )
    $CurrentVerbosity=$global:VerbosePreference
    try {

        if($PSBoundParameters["Verbose"] -eq $true) {
            $global:VerbosePreference="Continue"
        }

        #If no PSRemoting based param's are present, we just run locally
        if($PsCmdlet.ParameterSetName -eq "Package"){
            Invoke-Locally @PSBoundParameters
            return
        }

        #me me me!
        Write-BoxstarterLogo
        
        #Convert pipeline to array
        $list=@($input)
        if($list.Count){
            Set-Variable -Name $PsCmdlet.ParameterSetName -Value $list
        }

        $sessionArgs=@{}
        if($Credential){
            $sessionArgs.Credential=$Credential
        }

        #If $sessions are being provided we assume remoting is setup on both ends
        #and don't need to test, configure and tear down
        if($Session -ne $null){
            Process-Sessions $Session $sessionArgs
            return
        }

        #We need the computer names to configure remoting
        if(!$ComputerName){
            if($BoxstarterConnectionConfig){
                $uris = $BoxstarterConnectionConfig | % { $_.ConnectionURI }
            }
            else{
                $uris = $ConnectionUri
            }
            $ComputerName = Get-ComputerNames $uris
        }

        try{
            #Enable remoting settings if necessary on client
            $ClientRemotingStatus=Enable-BoxstarterClientRemoting $ComputerName

            #If unable to enable remoting on the client, abort
            if(!$ClientRemotingStatus.Success){return}

            $CredSSPStatus=Enable-BoxstarterCredSSP $ComputerName

            if($ConnectionURI){
                $ConnectionUri | %{
                    $sessionArgs.ConnectionURI = $_
                    Write-BoxstarterMessage "Installing $packageName on $($_.ToString())"
                    Install-BoxstarterPackageOnComputer $_.Host $sessionArgs $PackageName $DisableReboots $CredSSPStatus
                }
            }
            elseif($BoxstarterConnectionConfig) {
                $BoxstarterConnectionConfig | %{
                    $sessionArgs.ConnectionURI = $_.ConnectionURI
                    if($_.Credential){
                        $sessionArgs.Credential = $_.Credential
                    }
                    if($_.PSSessionOption){
                        $sessionArgs.SessionOption = $_.PSSessionOption
                    }
                    Install-BoxstarterPackageOnComputer $_.ConnectionURI.Host $sessionArgs $PackageName $DisableReboots $CredSSPStatus
                }
            }
            else {
                $ComputerName | %{
                    $sessionArgs.ComputerName = $_
                    Install-BoxstarterPackageOnComputer $_ $sessionArgs $PackageName $DisableReboots $CredSSPStatus
                }
            }
        }
        finally{
            #Client settings should be as they were when we started
            Rollback-ClientRemoting $ClientRemotingStatus $CredSSPStatus
        }
    }
    finally{
        $global:VerbosePreference=$CurrentVerbosity
    }
}

function Get-ComputerNames([URI[]]$ConnectionUris) {
    $computerNames = @()

    Write-BoxstarterMessage "resolving URIs to computer names..." -Verbose
    $ConnectionUris | %{
        if($_ -eq $null) {
            Write-BoxstarterMessage "Tried to resolve Null URI" -Verbose
        }
        else {
            Write-BoxstarterMessage "$($_ -is [uri]) found $($_.Host) for $($_.ToString())" -Verbose
            $computerNames+=$_.Host
        }
    }
    return $computerNames
}

function Process-Sessions($sessions, $sessionArgs){
    $Sessions | %{
        Write-BoxstarterMessage "Processing Session..." -Verbose
        Set-SessionArgs $_ $sessionArgs
        $record = Start-Record $_.ComputerName
        try {
            if(-not (Install-BoxstarterPackageForSession $_ $PackageName $DisableReboots $sessionArgs)){
                $record.Completed=$false
            }
        }
        catch {
            $record.Completed=$false
        }
        finally{
            Finish-Record $record
        }
    }
}

function Start-Record($computerName) {
    $global:error.Clear()
    $props = @{
        StartTime = Get-Date
        Completed = $true
        ComputerName = $computerName
        Errors = @()
        FinishTime = $null
    }
    return (New-Object PSObject -Prop $props)
}

function Finish-Record($obj) {
    Write-BoxstarterMessage "Composing record for pipeline..." -Verbose
    $obj.FinishTime = Get-Date
    $global:error | %{
        if($_.CategoryInfo -ne $null -and $_.CategoryInfo.Category -eq "OperationStopped"){
            Log-BoxstarterMessage $_
        }
        else {
            $obj.Errors += $_
        }
    }
    Write-BoxstarterMessage "writing object..." -Verbose
    Write-Output $obj
    Write-BoxstarterMessage "object written..." -Verbose
}

function Install-BoxstarterPackageOnComputer ($ComputerName, $sessionArgs, $PackageName, $DisableReboots, $CredSSPStatus){
    $record = Start-Record $ComputerName
    try {
        if(!(Enable-RemotingOnRemote $sessionArgs $ComputerName)){
            Write-Error "Unable to access remote computer via PowerShell Remoting or WMI. You can enable it by running: Enable-PSRemoting -Force from an Administrator PowerShell console on the remote computer."
            $record.Completed=$false
            return
        }

        if($CredSSPStatus.Success){
            $enableCredSSP = Should-EnableCredSSP $sessionArgs $computerName
        }

        write-BoxstarterMessage "Creating a new session with $computerName..." -Verbose
        $session = New-PSSession @sessionArgs -Name Boxstarter

        if(-not (Install-BoxstarterPackageForSession $session $PackageName $DisableReboots $sessionArgs $enableCredSSP)){
            $record.Completed=$false
        }
    }
    catch {
        $record.Completed=$false
        Write-Error $_
    }
    finally{
        Finish-Record $record
    }
}

function Install-BoxstarterPackageForSession($session, $PackageName, $DisableReboots, $sessionArgs, $enableCredSSP) {
    try{
        if($session.Availability -ne "Available"){
            write-Error (New-Object -TypeName ArgumentException -ArgumentList "The Session is not Available")
            return $false
        }

        for($count = 1; $count -le 5; $count++) {
            try {
                Write-BoxstarterMessage "Attempt #$count to copy Boxstarter modules to $($session.ComputerName)" -Verbose
                Setup-BoxstarterModuleAndLocalRepo $session
                break
            }
            catch {
                if($global:Error.Count -gt 0){$global:Error.RemoveAt(0)}
                if($count -eq 5) { throw $_ }
            }
        }

        if($enableCredSSP){
            $credSSPSession = Enable-RemoteCredSSP $sessionArgs
            if($session -ne $null -and $credSSPSession -ne $null){
                Write-BoxstarterMessage "CredSSP session succeeded. Replacing sessions..."
                Remove-PSSession $session -ErrorAction SilentlyContinue
                $session=$credSSPSession
            }
        }
        
        Invoke-Remotely ([ref]$session) $PackageName $DisableReboots $sessionArgs
        return $true
    }
    finally {
        Write-BoxstarterMessage "checking if session should be removed..." -Verbose
        if($session -ne $null -and $session.Name -eq "Boxstarter") {
            Write-BoxstarterMessage "Removing session $($session.id)..." -Verbose
            Remove-PSSession $Session
            Write-BoxstarterMessage "Session removed..." -Verbose
            $Session = $null
        }

        if($sessionArgs.Authentication){
            $sessionArgs.Remove("Authentication")
        }
        if($enableCredSSP){
            Disable-RemoteCredSSP $sessionArgs
        }
    }
}

function Invoke-Locally {
    param(
        [string[]]$PackageName,
        [Management.Automation.PsCredential]$Credential,
        [switch]$Force,
        [switch]$DisableReboots,
        [switch]$KeepWindowOpen,
        [switch]$DisableRestart,
        [string]$LocalRepo
    )
    if($PSBoundParameters.ContainsKey("Credential")){
        if($Credential -ne $null) {
            $PSBoundParameters.Add("Password",$PSBoundParameters["Credential"].Password)
        }
        $PSBoundParameters.Remove("Credential") | out-Null
    }
    else {
        $PSBoundParameters.Add("NoPassword",$True)
    }
    if($PSBoundParameters.ContainsKey("Force")){
        $PSBoundParameters.Remove("Force") | out-Null
    }
    $PSBoundParameters.Add("BootstrapPackage", $PSBoundParameters.PackageName)
    $PSBoundParameters.Remove("PackageName") | out-Null

    $record = Start-Record 'localhost'
    try {
        Invoke-ChocolateyBoxstarter @PSBoundParameters
    }
    catch {
        $record.Completed=$false
        throw
    }
    finally{
        Finish-Record $record
    }
}

function Enable-RemotingOnRemote ($sessionArgs, $ComputerName){
    Write-BoxstarterMessage "Testing remoting access on $ComputerName..."
    try { 
        $remotingTest = Invoke-Command @sessionArgs { Get-WmiObject Win32_ComputerSystem } -ErrorAction Stop
    }
    catch {
        Write-BoxstarterMessage $_.ToString() -Verbose
        $sessionArgs.Keys | % {
            Write-BoxstarterMessage "session arg key: $_ has value $($sessionArgs[$_])" -Verbose
        }
        Write-BoxstarterMessage "using credential username $($sessionArgs.Credential.UserName)" -Verbose
        $global:error.RemoveAt(0)
    }
    if($remotingTest -eq $null){
        Write-BoxstarterMessage "PowerShell Remoting is not enabled or accessible on $ComputerName" -Verbose
        if(Test-Admin) {
            $wmiTest=Invoke-WmiMethod -ComputerName $ComputerName -Credential $sessionArgs.Credential Win32_Process Create -Args "cmd.exe" -ErrorAction SilentlyContinue
        }
        if($wmiTest -eq $null){
            if($global:Error.Count -gt 0){ $global:Error.RemoveAt(0) }
            return $false
        }
        if($Force -or (Confirm-Choice "PowerShell Remoting is not enabled on Remote computer. Should Boxstarter enable PowerShell remoting? This will also change the Network Location type on the remote machine to PRIVATE if it is currently PUBLIC.")){
            Write-BoxstarterMessage "Enabling PowerShell Remoting on $ComputerName"
            Enable-RemotePSRemoting $ComputerName $sessionArgs.Credential
        }
        else {
            Write-BoxstarterMessage "Not enabling local PowerShell Remoting on $ComputerName. Aborting package install"
            return $False
        }
    }
    else {
        Write-BoxstarterMessage "Remoting is accessible on $ComputerName"
    }
    return $True
}

function Setup-BoxstarterModuleAndLocalRepo($session){
    if($LocalRepo){$Boxstarter.LocalRepo=$LocalRepo}
    Write-BoxstarterMessage "Copying Boxstarter Modules and LocalRepo packages at $($Boxstarter.BaseDir) to $env:temp on $($Session.ComputerName)..."
    Invoke-Command -Session $Session { mkdir $env:temp\boxstarter\BuildPackages -Force  | out-Null }
    Send-File "$($Boxstarter.BaseDir)\Boxstarter.Chocolatey\Boxstarter.zip" "Boxstarter\boxstarter.zip" $session
    Get-ChildItem "$($Boxstarter.LocalRepo)\*.nupkg" | % { 
        Write-BoxstarterMessage "Copying $($_.Name) to $($Session.ComputerName)" -Verbose
        Send-File "$($_.FullName)" "Boxstarter\BuildPackages\$($_.Name)" $session 
    }
    Write-BoxstarterMessage "Expanding modules on $($Session.ComputerName)" -Verbose
    Invoke-Command -Session $Session {
        Set-ExecutionPolicy Bypass -Force
        $shellApplication = new-object -com shell.application 
        $zipPackage = $shellApplication.NameSpace("$env:temp\Boxstarter\Boxstarter.zip") 
        $destinationFolder = $shellApplication.NameSpace("$env:temp\boxstarter") 
        $destinationFolder.CopyHere($zipPackage.Items(),0x10)
        [xml]$configXml = Get-Content (Join-Path $env:temp\Boxstarter BoxStarter.config)
        if($configXml.config.LocalRepo -ne $null) {
            $configXml.config.RemoveChild(($configXml.config.ChildNodes | ? { $_.Name -eq "LocalRepo"}))
            $configXml.Save((Join-Path $env:temp\Boxstarter BoxStarter.config))
        }
    }
}

function Invoke-RemoteBoxstarter($Package, $Credential, $DisableReboots, $session) {
    Write-BoxstarterMessage "Running remote install..."
    $remoteResult = Invoke-Command -session $session {
        param($SuppressLogging,$pkg,$Credential,$DisableReboots, $verbosity, $ProgressArgs, $debug)
        $global:VerbosePreference=$verbosity
        $global:DebugPreference=$debug        
        Import-Module $env:temp\Boxstarter\Boxstarter.Common\Boxstarter.Common.psd1 -DisableNameChecking
        if($Credential -eq $null){
            $currentUser = Get-CurrentUser
            $credential = (New-Object Management.Automation.PsCredential ("$($currentUser.Domain)\$($currentUser.Name)", (New-Object System.Security.SecureString)))
        }
        Create-BoxstarterTask $Credential
        Import-Module $env:temp\Boxstarter\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1
        $Boxstarter.SuppressLogging=$SuppressLogging
        $global:Boxstarter.ProgressArgs=$ProgressArgs 
        $result=$null
        try {
            $resultToReturn = @{}
            $result = Invoke-ChocolateyBoxstarter $pkg -Password $Credential.password -DisableReboots:$DisableReboots
            if($Boxstarter.IsRebooting){
                $resultToReturn.Result="Rebooting"
            }
            elseif($result=$true){
                $resultToReturn.Result="Completed"
            }
            $resultToReturn.Errors = $Global:Error
            return $resultToReturn
        }
        catch{
            throw $_
        }
    } -ArgumentList $Boxstarter.SuppressLogging, $Package, $Credential, $DisableReboots, $global:VerbosePreference, $global:Boxstarter.ProgressArgs, $global:DebugPreference
    if($remoteResult.Errors -ne $null) {
        $global:Error.AddRange($remoteResult.Errors)
    }
    Write-BoxstarterMessage "Result from Remote Boxstarter: $($remoteResult.Result)" -Verbose
    return $remoteResult
}

function Test-RebootingOrDisconnected($RemoteResult) {
    if($remoteResult -eq $null -or $remoteResult.Result -eq $null -or $remoteResult.Result -eq "Rebooting") {
        return $true
    }
    else {
        return $false
    }
}

function Wait-ForSessionToClose($session) {
    Write-BoxstarterMessage "Waiting for $($session.ComputerName) to sever remote session..."
    $timeout=0
    while($session.State -eq "Opened" -and $timeout -lt 120){
        $timeout += 2
        start-sleep -seconds 2
    }
}

function Test-ShutDownInProgress($Session) {
    $response=Invoke-Command -Session $Session {
        try {
        $systemMetrics = Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public static class SystemMetrics
{
    private const int SM_SHUTTINGDOWN = 0x2000;

    [DllImport("user32.dll")]
    public static extern int GetSystemMetrics(int smIndex);

    public static bool IsShuttingdown() 
    {
        return (GetSystemMetrics(SM_SHUTTINGDOWN) != 0);
    }

}
"@ -PassThru            
        } catch {}
        if ($systemMetrics){
            return $systemMetrics::IsShuttingdown()            
        }
    }

    if($response -eq $false) {
        Write-BoxstarterMessage "System Shutdown not in progress" -Verbose
    }
    else {
        Write-BoxstarterMessage "System Shutdown in progress" -Verbose
    }

    return $response
}

function Test-Reconnection($Session, $sessionPID) {
    $reconnected = $false

    #If there is a pending reboot then session is in the middle of a restart
    try{
        $response=Invoke-Command -Session $session { 
            Import-Module $env:temp\Boxstarter\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1 
            return Test-PendingReboot
        } -ErrorAction Stop
    } catch {
        Write-BoxstarterMessage "Failed to test pending reboot : $($global:Error[0])" -Verbose
        $global:Error.RemoveAt(0)
    }
    Write-BoxstarterMessage "Reboot check returned $response" -Verbose


    if($response -ne $null -and $response -eq $false){
        #Check for a system shutdown in progress
        $response = Test-ShutDownInProgress $session

        if($response -eq $false) {
            $reconnected = $true #Session is connectible
            try{
                #In case previous session's task is still alive kill it so it does not lock anything
                Write-BoxstarterMessage "Killing $sessionPID" -Verbose
                Invoke-Command -Session $session { 
                    param($p)
                    if(Get-Process -Id $p -ErrorAction SilentlyContinue){
                        KILL $p -ErrorAction Stop -Force
                    }
                    else {
                        $global:Error.RemoveAt(0)
                    }
                } -ArgumentList $sessionPID
            } catch{
                Write-BoxstarterMessage "Failed to kill $sessionPID : $($global:Error[0])" -Verbose
                $global:Error.RemoveAt(0)
            }
        }
    }
    #if the session is pending a reboot but not in the middle of a system shutdown, 
    #try to invoke a reboot to prevent us from hanging while waiting
    elseif($response -eq $true -and !(Test-ShutDownInProgress $session)){
        Write-BoxstarterMessage "Attempting to restart $($session.ComputerName)" -Verbose
        Invoke-Command -Session $session { 
            Import-Module $env:temp\Boxstarter\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1 
            $Boxstarter.RebootOK=$true
            if(Test-PendingReboot){restart-Computer -Force }
        } -ErrorAction SilentlyContinue
    }

    return $reconnected
}

function Invoke-Remotely([ref]$session,$Package,$DisableReboots,$sessionArgs){
    Write-BoxstarterMessage "Invoking remote install" -verbose
    while($session.value.Availability -eq "Available") {
        $sessionPID = try { Invoke-Command -Session $session.value { return $PID } } catch { $global:Error.RemoveAt(0) }
        Write-BoxstarterMessage "Session's process ID is $sessionPID" -verbose
        if($sessionPID -ne $null) {
            $remoteResult = Invoke-RemoteBoxstarter $Package $sessionArgs.Credential $DisableReboots $session.value
        }

        if(Test-RebootingOrDisconnected $remoteResult) {
            Wait-ForSessionToClose $session.value

            $reconnected=$false
            Write-BoxstarterMessage "Waiting for $($session.value.ComputerName) to respond to remoting..."
            Do{
                if($session.value -ne $null){
                    Write-BoxstarterMessage "removing session..." -verbose
                    try { Remove-PSSession $session.value } catch { $global:Error.RemoveAt(0) }
                    $session.value = $null
                    Write-BoxstarterMessage "session removed..." -verbose
                }
                $response=$null
                start-sleep -seconds 2
                Write-BoxstarterMessage "attempting to recreate session..." -verbose
                $session.value = New-PSSession @sessionArgs -Name Boxstarter -ErrorAction SilentlyContinue
                if($session.value -eq $null) {
                    Write-BoxstarterMessage "New session is null..." -verbose
                    $global:Error.RemoveAt(0)
                }
                elseif($session.value -ne $null -and $Session.value.Availability -eq "Available"){
                    Write-BoxstarterMessage "testing new session..." -verbose
                    if($remoteResult.Result -eq "Rebooting"){$sessionPID=-1}
                    $reconnected = Test-Reconnection $session.value $sessionPID
                }
                else {
                    Write-BoxstarterMessage "new session is not available..." -verbose
                }
            }
            Until($reconnected -eq $true)
        }
        else {
            break
        }
    }
}

function Set-SessionArgs($session, $sessionArgs) {
    $uri = try { Invoke-Command $session {return $PSSenderInfo.ConnectionString} -ErrorAction SilentlyContinue } catch{}
    if($uri){
        $sessionArgs.ConnectionURI=$uri
    }
    else{
        $sessionArgs.ComputerName=$session.ComputerName
    }    
}

function Should-EnableCredSSP($sessionArgs, $computerName) {
    Write-BoxstarterMessage "Testing remote CredSSP..." -Verbose
    if($sessionArgs.Credential){
        $uriArgs=@{}
        if($sessionArgs.ConnectionURI){
            $uri = [URI]$sessionArgs.ConnectionURI
            $uriArgs = @{Port=$uri.port;UseSSL=($uri.scheme -eq "https")}
        }
        try {
            $credsspEnabled = Test-WsMan -ComputerName $ComputerName @uriArgs -Credential $SessionArgs.Credential -Authentication CredSSP -ErrorAction SilentlyContinue
        } 
        catch {
            Write-BoxstarterMessage "Exception from testing WSMan for CredSSP access" -Verbose
            try { $xml=[xml]$_ } catch { $global:Error.RemoveAt(0) }
            if($xml -ne $null) {
                Write-BoxstarterMessage "WSMan Fault Found" -Verbose
                Write-BoxstarterMessage "$($xml.OuterXml)" -Verbose
            }
            else {
                Write-BoxstarterMessage $_ -Verbose
            }
        }
        if($credsspEnabled -eq $null){
            Write-BoxstarterMessage "Need to enable CredSSP on server" -Verbose
            if($global:Error.Count -gt 0){ $global:Error.RemoveAt(0) }
            return $True
        }
        else{
            Write-BoxstarterMessage "CredSSP test response:" -Verbose
            [System.Xml.XmlElement]$xml=$credsspEnabled
            if($xml -ne $null) {
                Write-BoxstarterMessage "WSMan XML Found..." -Verbose
                Write-BoxstarterMessage "$($xml.OuterXml)" -Verbose
            }
            $sessionArgs.Authentication="CredSSP"
        }
    }
    Write-BoxstarterMessage "Do not need to enable CredSSP on server" -Verbose
    return $false
}

function Enable-RemoteCredSSP($sessionArgs) {
    Write-BoxstarterMessage "Creating a scheduled task to enable CredSSP Authentication on $ComputerName..."
    $n=Invoke-RetriableScript {
        $splat=$args[0]
        Invoke-Command @splat { 
            param($Credential, $verbosity)
            $VerbosePreference = $verbosity
            Import-Module $env:temp\Boxstarter\Boxstarter.Common\Boxstarter.Common.psd1 -DisableNameChecking
            Create-BoxstarterTask $Credential
            Invoke-FromTask "Enable-WSManCredSSP -Role Server -Force | out-Null"
            Remove-BoxstarterTask
        } -ArgumentList @($args[0].Credential, $VerbosePreference)
    } $sessionArgs
    $sessionArgs.Authentication="CredSSP"
    Write-BoxstarterMessage "Creating New session with CredSSP Authentication..." -Verbose
    try { 
        $session = Invoke-RetriableScript {
            $splat=$args[0]
            $s = New-PSSession @splat -Name Boxstarter -ErrorAction Stop
            return $s
        } $sessionArgs
    }
    catch {
        $sessionArgs.Remove("Authentication")
        $session=$null
        Write-BoxstarterMessage "Unable to create CredSSP session. Error was: $($_.ToString())" -Verbose
        $global:error.RemoveAt(0)
    }
    return $session
}

function Disable-RemoteCredSSP ($sessionArgs){
    Write-BoxstarterMessage "Disabling CredSSP Authentication on $ComputerName" -Verbose
    Invoke-Command @sessionArgs { 
        param($Credential, $verbosity)
        $Global:VerbosePreference = $verbosity
        Import-Module $env:temp\Boxstarter\Boxstarter.Common\Boxstarter.Common.psd1 -DisableNameChecking
        Create-BoxstarterTask $Credential
        $taskResult = Invoke-FromTask "Disable-WSManCredSSP -Role Server"
        Write-BoxstarterMessage "result from disabling CredSSP is: $taskResult" -Verbose
        Remove-BoxstarterTask
    } -ArgumentList $sessionArgs.Credential, $Global:VerbosePreference
    Write-BoxstarterMessage "Finished disabling CredSSP Authentication on $ComputerName" -Verbose
}

function Rollback-ClientRemoting($ClientRemotingStatus, $CredSSPStatus) {
    Write-BoxstarterMessage "Rolling back remoting settings changed by Boxstarter..."
    if($ClientRemotingStatus.PreviousTrustedHosts -ne $null){
        $currentHosts=Get-Item "wsman:\localhost\client\trustedhosts"
        if($currentHosts.Value -ne $ClientRemotingStatus.PreviousTrustedHosts) {
            Write-BoxstarterMessage "Reseting wsman Trusted Hosts to $($ClientRemotingStatus.PreviousTrustedHosts)" -Verbose
            Set-Item "wsman:\localhost\client\trustedhosts" -Value "$($ClientRemotingStatus.PreviousTrustedHosts)" -Force
        }
    }
    if($CredSSPStatus -ne $null -and $CredSSPStatus.Success){
        try {Disable-WSManCredSSP -Role Client -ErrorAction SilentlyContinue } catch{ Write-BoxstarterMessage "Unable to disable CredSSP locally" }
        if($CredSSPStatus.PreviousCSSPTrustedHosts -ne $null){
            try{
                Write-BoxstarterMessage "Reseting CredSSP Trusted Hosts to $($CredSSPStatus.PreviousCSSPTrustedHosts.Replace('wsman/',''))" -Verbose
                Enable-WSManCredSSP -DelegateComputer ($CredSSPStatus.PreviousCSSPTrustedHosts.Replace("wsman/","").split(",") | Get-Unique) -Role Client -force | Out-Null
            }
            catch{}
        }
        Write-BoxstarterMessage "Reseting GroupPolicy for Credentials Delegation" -Verbose
        if(Test-Path "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly") {
            (Get-Item "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly").Property | % {
                if([int]$_ -gt $CredSSPStatus["PreviousFreshNTLMCredDelegationHostCount"]) {
                    Remove-ItemProperty "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly" -Name $_
                }
            }
        }

        if(Test-Path "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentials") {
            (Get-Item "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentials").Property | % {
                if([int]$_ -gt $CredSSPStatus["PreviousFreshCredDelegationHostCount"]) {
                    Remove-ItemProperty "$(Get-CredentialDelegationKey)\CredentialsDelegation\AllowFreshCredentials" -Name $_
                }
            }
        }
    }
}
tools\Boxstarter.Chocolatey\Invoke-BoxstarterBuild.ps1
function Invoke-BoxStarterBuild {
<#
.SYNOPSIS
Packs a specific package or all packages in the Boxstarter Repository

.DESCRIPTION
Invoke-BoxStarterBuild packs either a single package or all packages
in the local repository. The packed .nupkg is placed in the root of
the LocalRepo and is then able to be consumed by 
Invoke-ChocolateyBoxstarter.

.PARAMETER Name
The name of the package to pack

.PARAMETER All
Indicates that all package directories in the repository should be packed

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
Invoke-BoxstarterBuild
New-BoxstarterPackage
#>
    [CmdletBinding()]
    param(
        [Parameter(Position=0,ParameterSetName='name')]
        [string]$name,
        [Parameter(Position=0,ParameterSetName='all')]
        [switch]$all,
        [switch]$quiet
    )
    if(!$boxstarter -or !$boxstarter.LocalRepo){
        throw "No Local Repository has been set in `$Boxstarter.LocalRepo."
    }
    pushd $Boxstarter.LocalRepo
    try{
        if($name){
            $searchPath = join-path $name "$name.nuspec"
            Write-BoxstarterMessage "Searching for $searchPath" -Verbose
            if(!(Test-Path $searchPath)){
                throw "Cannot find $($Boxstarter.LocalRepo)\$searchPath"
            }
            Call-Chocolatey Pack (join-path $name "$name.nuspec") | out-null
            if(!$quiet){
                Write-BoxstarterMessage "Your package has been built. Using Boxstarter.bat $name or Install-BoxstarterPackage $name will run this package." -nologo
            }
        } else {
             if($all){
                Write-BoxstarterMessage "Scanning $($Boxstarter.LocalRepo) for package folders"
                Get-ChildItem . | ? { $_.PSIsContainer } | % {
                    $directoriesExist=$true
                    Write-BoxstarterMessage "Found directory $($_.name). Looking for $($_.name).nuspec"
                    if(Test-Path (join-path $_.name "$($_.name).nuspec")){
                        Call-Chocolatey Pack (join-path . "$($_.Name)\$($_.Name).nuspec") | out-null
                        if(!$quiet){
                            Write-BoxstarterMessage "Your package has been built. Using Boxstarter.bat $($_.Name) or Install-BoxstarterPackage $($_.Name) will run this package." -nologo                        
                        }
                    }
                }
                if($directoriesExist -eq $null){
                    Write-BoxstarterMessage "No Directories exist under $($boxstarter.LocalRepo)"
                }
            }
        }
    }
    finally {
        popd
    }
}
tools\Boxstarter.Chocolatey\Invoke-BoxstarterFromTask.ps1
function Invoke-BoxstarterFromTask($Command) {
<#
.SYNOPSIS
Runs the normal chocolatey command as a scheduled task.

.DESCRIPTION
Creates the script necessary for a scheduled task to run the given command. The scheduled
task will run immediately.

.PARAMETER Command
A chocolatey command to execute within a scheduled task. For example "cinst fiddler".

.EXAMPLE
A chocolatey command

Invoke-BoxstarterFromTask "cinst rsat"

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
about_boxstarter_variable_in_chocolatey
Invoke-Chocolatey
#>
    Invoke-FromTask @"
        Import-Module $($boxstarter.BaseDir)\boxstarter.chocolatey\Boxstarter.chocolatey.psd1 -DisableNameChecking
        $(Serialize-BoxstarterVars)
        `$global:Boxstarter.Log = `$null
        `$global:Boxstarter.DisableRestart = `$true
        Export-BoxstarterVars
        `$env:BoxstarterSourcePID = $PID
        . $Command
"@ -DotNetVersion "v4.0.30319"
}

tools\Boxstarter.Chocolatey\invoke-chocolatey.ps1
function Invoke-Chocolatey($chocoArgs) {
    Write-BoxstarterMessage "Current runtime is $($PSVersionTable.CLRVersion)" -Verbose
    $refs = @( 
        "$($Boxstarter.BaseDir)/boxstarter.chocolatey/chocolatey/log4net.dll",
        "$($Boxstarter.BaseDir)/boxstarter.chocolatey/chocolatey/chocolatey.dll"
    )
    $refs | % {
        Write-BoxstarterMessage "Adding types from $_" -Verbose
        if($env:TestingBoxstarter) {
            Write-BoxstarterMessage "loading choco bytes" -Verbose
            [System.Reflection.Assembly]::Load([io.file]::ReadAllBytes($_))
        }
        else {
            Write-BoxstarterMessage "loading choco from path" -Verbose
            Add-Type -Path $_
        }
    }
    $cpar = New-Object System.CodeDom.Compiler.CompilerParameters
    $cpar.ReferencedAssemblies.Add([System.Reflection.Assembly]::Load('System.Management.Automation').location) | Out-Null
    $refs | % { $cpar.ReferencedAssemblies.Add($_) | Out-Null }
    Write-BoxstarterMessage "Adding boxstarter choco wrapper types..." -Verbose
    Add-Type @"
namespace Boxstarter
{
    using chocolatey;
    using chocolatey.infrastructure.app.services;
    using chocolatey.infrastructure.filesystem;
    using chocolatey.infrastructure.logging;
    using System;
    using System.IO;
    using System.Management.Automation.Host;

    public class ChocolateyWrapper
    {
        private static GetChocolatey _choco;
        
        public ChocolateyWrapper(string boxstarterSetup, PSHostUserInterface ui, bool logDebug, bool logVerbose, string logPath, bool quiet) {
            if (_choco == null) {
                _choco = Lets.GetChocolatey();
                var psService = new PowershellService(new DotNetFileSystem(), boxstarterSetup);
                _choco.RegisterContainerComponent<IPowershellService>(() => psService);
            }
            _choco.SetCustomLogging(new PsLogger(ui, logDebug, logVerbose, logPath, quiet));
        }

        public void Run(string[] args) {
            _choco.RunConsole(args);
        }
    }

    public class PsLogger : ILog
    {
        private PSHostUserInterface _ui;
        private string _path;
        private bool _logDebug;
        private bool _logVerbose;
        private bool _quiet;

        public PsLogger(PSHostUserInterface ui, bool logDebug, bool logVerbose, string path, bool quiet)
        {
            _ui = ui;
            _logDebug = logDebug;
            _logVerbose = logVerbose;
            _path = path;
            _quiet = quiet;
        }

        public void InitializeFor(string loggerName)
        {
        }

        public void Debug(string message, params object[] formatting)
        {
            WriteLog(
                message,
                x => { if(_logDebug) _ui.WriteDebugLine(x); },
                formatting
            );
        }

        public void Debug(Func<string> message)
        {
            WriteLog(
                message,
                x => { if(_logDebug) _ui.WriteDebugLine(x); }
            );
        }

        public void Info(string message, params object[] formatting)
        {
            WriteLog(
                message,
                x => {
                        if(x.Trim().StartsWith("Boxstarter: ") || x.Replace("+","").Trim().StartsWith("Boxstarter ")){ 
                            _ui.RawUI.ForegroundColor = ConsoleColor.Green;
                        }
                        else {
                            _ui.RawUI.ForegroundColor = ConsoleColor.White;
                        }
                        if(x.Trim().StartsWith("VERBOSE: ")) {
                            if(_logVerbose) _ui.WriteVerboseLine(x);
                        }
                        else {
                            _ui.WriteLine(x);
                        }
                    },
                formatting
            );
        }

        public void Info(Func<string> message)
        {
            WriteLog(
                message,
                x => {
                        if(x.Trim().StartsWith("Boxstarter: ") || x.Replace("+","").Trim().StartsWith("Boxstarter ")){ 
                            _ui.RawUI.ForegroundColor = ConsoleColor.Green;
                        }
                        else {
                            _ui.RawUI.ForegroundColor = ConsoleColor.White;
                        }
                        if(x.Trim().StartsWith("VERBOSE: ")) {
                            if(_logVerbose) _ui.WriteVerboseLine(x);
                        }
                        else {
                            _ui.WriteLine(x);
                        }
                    }
            );
        }

        public void Warn(string message, params object[] formatting)
        {
            WriteLog(
                message,
                x => {
                        _ui.RawUI.ForegroundColor = ConsoleColor.Yellow;
                        _ui.WriteLine(x);
                    },
                formatting
            );
        }

        public void Warn(Func<string> message)
        {
            WriteLog(
                message,
                x => {
                        _ui.RawUI.ForegroundColor = ConsoleColor.Yellow;
                        _ui.WriteLine(x);
                    }
            );
        }

        public void Error(string message, params object[] formatting)
        {
            WriteLog(
                message,
                x => _ui.WriteErrorLine(x),
                formatting
            );
        }

        public void Error(Func<string> message)
        {
            WriteLog(
                message,
                x => _ui.WriteErrorLine(x)
            );
        }

        public void Fatal(string message, params object[] formatting)
        {
            WriteLog(
                message,
                x => _ui.WriteErrorLine(x),
                formatting
            );
        }

        public void Fatal(Func<string> message)
        {
            WriteLog(
                message,
                x => _ui.WriteErrorLine(x)
            );
        }

        private void WriteLog(string message, Action<String> logAction, params object[] formatting)
        {
            WriteFormattedLog(() => String.Format(message, formatting), logAction);
        }

        private void WriteLog(Func<string> message, Action<String> logAction)
        {
            WriteFormattedLog(() => message.Invoke(), logAction);
        }

        private void WriteFormattedLog(Func<string> formatMessage, Action<String> logAction)
        {
            if(_quiet) return;
            var origColor = _ui.RawUI.ForegroundColor;
            try {
                var msg = formatMessage.Invoke();
                logAction.Invoke(msg);
                WriteRaw(msg);
            }
            catch(Exception e) {
                WriteRaw(e.ToString());
            }
            finally{
                _ui.RawUI.ForegroundColor = origColor;
            }            
        }

        private void WriteRaw(string message)
        {
            if(String.IsNullOrEmpty(_path))
                return;
            try {
                using (FileStream fs = new FileStream(_path, FileMode.Append, FileAccess.Write, FileShare.ReadWrite))
                {
                    using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8)) 
                    {
                        sw.WriteLine(message);
                    }
                }
            }
            catch(Exception e)
            {
                _ui.WriteErrorLine(e.ToString());
            }
        }
    }
}
"@ -CompilerParameters $cpar
    Write-BoxstarterMessage "Types added..." -Verbose

    if(!$env:ChocolateyInstall) {
        [System.Environment]::SetEnvironmentVariable('ChocolateyInstall', "$env:programdata\chocolatey", 'Machine')
        $env:ChocolateyInstall = "$env:programdata\chocolatey"
    }

    if(!(Test-Path "$env:ChocolateyInstall\lib")) {
        mkdir "$env:ChocolateyInstall\lib" | Out-Null
    }
    
    if(!$global:choco) {
        Write-BoxstarterMessage "instantiating choco wrapper..." -Verbose
        $global:choco = New-Object -TypeName boxstarter.ChocolateyWrapper -ArgumentList `
          (Get-BoxstarterSetup),`
          $host.UI,`
          ($global:DebugPreference -eq "Continue"),`
          ($global:VerbosePreference -eq "Continue"),`
          $boxstarter.log,`
          $boxstarter.SuppressLogging
    }

    Enter-BoxstarterLogable { 
        Write-BoxstarterMessage "calling choco now with $chocoArgs" -Verbose
        $cd = [System.IO.Directory]::GetCurrentDirectory()
        try {
            # Chocolatey.dll uses GetCurrentDirectory which is not quite right
            # when calling via powershell. so we set it here
            Write-BoxstarterMessage "setting current directory location to $((Get-Location).Path)" -Verbose
            [System.IO.Directory]::SetCurrentDirectory("$(Convert-Path (Get-Location).Path)")
            $choco.Run($chocoArgs)
        }
        finally {
            Write-BoxstarterMessage "restoring current directory location to $cd" -Verbose
            [System.IO.Directory]::SetCurrentDirectory($cd)
        }
    }
}

function Get-BoxstarterSetup {
"Import-Module '$($boxstarter.BaseDir)\Boxstarter.chocolatey\Boxstarter.chocolatey.psd1' -DisableNameChecking -ArgumentList `$true"
}
tools\Boxstarter.Chocolatey\Invoke-ChocolateyBoxstarter.ps1
function Invoke-ChocolateyBoxstarter{
<#
.SYNOPSIS
Invokes the installation of a Boxstarter package

.DESCRIPTION
This essentially wraps Chocolatey Install and provides these additional features
 - Installs chocolatey if it is not already installed
 - Installs the .net 4.5 framework if it is not installed which is a chocolatey requirement
 - Disables windows update service during installation to prevent installation conflicts and minimize the need for reboots
 - Imports the Boxstarter.WinConfig module that provides functions for customizing windows
 - Detects pending reboots and restarts the machine when necessary to avoid installation failures
 - Provides Reboot Resiliency by ensuring the package installation is immediately restarted up on reboot if there is a reboot during the installation.
 - Ensures everything runs under administrator permissions

 The .nupkg file for the provided package name is searched in the following locations and order:
 - .\BuildPackages relative to the parent directory of the module file
 - The Chocolatey feed
 - The Boxstarter feed on MyGet
 This can be configured by editing $($Boxstarter.BaseDir)\Boxstarter.Config

 If the package name provided is a URL or resolves to a file. Then 
 it is assumed that this contains the chocolatey install script and
 a .nupkg file will be created using the script.
 
 .PARAMETER BootstrapPackage
 The names of one or more Nuget Packages to be installed or URIs or 
 file paths pointing to a chocolatey script. If using package names,
 the .nupkg file for the provided package names are searched in the 
 following locations and order:
 - .\BuildPackages relative to the parent directory of the module file
 - The Chocolatey feed
 - The Boxstarter feed on MyGet

.Parameter LocalRepo
This is the path to the local boxstarter repository where boxstarter 
should look for .nupkg files to install. By default this is located 
in the BuildPackages directory just under the root Boxstarter 
directory but can be changed with Set-BoxstarterConfig.

.PARAMETER DisableReboots
If set, reboots are suppressed.

.PARAMETER Password
User's password as a Secure string to be used for reboot autologon's.
This will suppress the password prompt at the beginning of the 
Boxstarter installer.

.PARAMETER KeepWindowOpen
Enabling this switch will prevent the command window from closing and 
prompt the user to pres the Enter key before the window closes. This 
is ideal when not invoking boxstarter from a console.

.PARAMETER NoPassword
When set, Boxstarter will never prompt for logon. Use this if using
an account without password validation.

.NOTES
If specifying only one package, Boxstarter calls chocolatey with the 
-force argument and deletes the previously installed package directory. 
This means that regardless of whether or not the package had been 
installed previously, Boxstarter will attempt to download and reinstall it.
This only holds true for the outer package. If the package contains calls 
to CINST for additional packages, those installs will not reinstall if 
previously installed.

If an array of package names are passed to Invoke-ChocolateyBoxstarter, 
Boxstarter will NOT apply the above reinstall logic and will skip the 
install for any package that had been previously installed.

.EXAMPLE
Invoke-ChocolateyBoxstarter "example1","example2"

This invokes boxstarter and installs the example1 and example2 .nupkg 
files. If pending reboots are detected, boxstarter will restart the 
machine. Boxstarter will prompt the user to enter a password which will 
be used for automatic logins in the event a restart is required.

.EXAMPLE
Invoke-ChocolateyBoxstarter https://gist.github.com/mwrock/6771863/raw/b579aa269c791a53ee1481ad01711b60090db1e2/gistfile1.txt

This invokes boxstarter and installs the script uploaded to the github gist.

.EXAMPLE
Invoke-ChocolateyBoxstarter script.ps1

This invokes boxstarter and installs the script located at script.ps1 
in the command line's current directory.

.EXAMPLE
Invoke-ChocolateyBoxstarter \\server\share\script.ps1

This invokes boxstarter and installs the script located at the 
specified share.

.EXAMPLE
Invoke-ChocolateyBoxstarter win8Install -LocalRepo \\server\share\boxstarter

This installs the Win8Install .nupkg and specifies that it is OK to 
reboot the machine if a pending reboot is needed. Boxstarter will look 
for the Win8Install .nupkg file in the \\serer\share\boxstarter 
directory.

.EXAMPLE
Invoke-ChocolateyBoxstarter example -Password (ConvertTo-SecureString "mypassword" -AsPlainText -Force)

This installs the example package and uses "mypassword" for any reboot 
autologon's. The user is now not prompted for a password.

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
about_boxstarter_variable_in_chocolatey
Set-BoxstarterConfig
#>    
    [CmdletBinding()]
    param(
      [string[]]$BootstrapPackage=$null,
      [string]$LocalRepo,
      [switch]$DisableReboots,
      [System.Security.SecureString]$Password,
      [switch]$KeepWindowOpen,
      [switch]$NoPassword,
      [switch]$DisableRestart
    )
    try{
        if($DisableReboots){
            Write-BoxstarterMessage "Disabling reboots" -Verbose
            $Boxstarter.RebootOk=$false
        }
        if($Boxstarter.ScriptToCall -eq $null){
            if($bootstrapPackage -ne $null -and $bootstrapPackage.length -gt 0){
                write-BoxstarterMessage "Installing package $($bootstrapPackage -join ', ')" -Color Cyan
            }
            else{
                write-BoxstarterMessage "Installing Chocolatey" -Color Cyan
            }
            $scriptArgs=@{}
            if($bootstrapPackage){$scriptArgs.bootstrapPackage=$bootstrapPackage}
            if($LocalRepo){$scriptArgs.Localrepo=$localRepo}
            if($DisableReboots){$scriptArgs.DisableReboots = $DisableReboots}
            $script=@"
Import-Module (Join-Path "$($Boxstarter.baseDir)" BoxStarter.Chocolatey\Boxstarter.Chocolatey.psd1) -global -DisableNameChecking;
Invoke-ChocolateyBoxstarter $(if($bootstrapPackage){"-bootstrapPackage '$($bootstrapPackage -join ''',''')'"}) $(if($LocalRepo){"-LocalRepo $localRepo"})  $(if($DisableReboots){"-DisableReboots"})
"@
            Invoke-Boxstarter ([ScriptBlock]::Create($script)) -RebootOk:$Boxstarter.RebootOk -password $password -KeepWindowOpen:$KeepWindowOpen -NoPassword:$NoPassword -DisableRestart:$DisableRestart
            return
        }
        if(${env:ProgramFiles(x86)} -ne $null){ $programFiles86 = ${env:ProgramFiles(x86)} } else { $programFiles86 = $env:ProgramFiles }
        $Boxstarter.ProgramFiles86="$programFiles86"
        $Boxstarter.LocalRepo=Resolve-LocalRepo $localRepo
        if($bootstrapPackage -ne $null){
            Download-Package $bootstrapPackage
        }
    }
    finally {
        $Boxstarter.ScriptToCall = $null
    }
}

function Resolve-LocalRepo([string]$localRepo) {
    if($localRepo){
        $localRepo = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($localRepo)
    } else {$Localrepo = $Boxstarter.Localrepo}
    write-BoxstarterMessage "LocalRepo is at $localRepo" -Verbose
    return $localRepo
}

function Download-Package([string[]]$bootstrapPackage) {
    $BootstrapPackage = $BootstrapPackage | % {
        if($_ -like "*://*" -or (Test-Path $_ -PathType Leaf)){
            New-PackageFromScript -Source $_ -PackageName $( split-path -leaf ([System.IO.Path]::GetTempFileName()))
        }
        else {
            $_
        }
    }
    $Boxstarter.Package=$bootstrapPackage
    $force=$false
    if($bootstrapPackage.Count -eq 1){
        Write-BoxstarterMessage "Deleting previous $bootstrapPackage package" -Verbose
        $chocoRoot = $env:ChocolateyInstall
        if($chocoRoot -eq $null) {
            $chocoRoot = "$env:programdata\chocolatey"
        }
        if(Test-Path "$chocoRoot\lib"){
            @(
                "$chocoRoot\lib\$bootstrapPackage.*",
                "$chocoRoot\lib\$bootstrapPackage"
            ) | % {
                if(Test-Path $_){
                    del $_ -recurse -force -ErrorAction SilentlyContinue
                    Write-BoxstarterMessage "Deleted $_" -verbose
                }
            }
        }
        $force=$true
    }
    $source = "$($Boxstarter.LocalRepo);$((Get-BoxstarterConfig).NugetSources)"
    write-BoxstarterMessage "Installing $($bootstrapPackage.Count) packages from $source" -Verbose
    Chocolatey install $bootstrapPackage -source $source -force:$force -execution-timeout 86400
}
tools\Boxstarter.Chocolatey\New-BoxstarterPackage.ps1
function New-BoxstarterPackage {
<#
.SYNOPSIS
Creates a new Chocolatey package source directory intended for a Boxstarter Install

.DESCRIPTION
New-BoxstarterPackage creates a new Directory in your local 
Boxstarter repository located at $Boxstarter.LocalRepo. If no path is
provided, Boxstarter creates a minimal nuspec and 
ChocolateyInstall.ps1 file. If a path is provided, Boxstarter will 
copy the contents of the path to the new package directory. If the
path does not include a nuspec or ChocolateyInstall.ps1, Boxstarter
will create one. You can use Invoke-BoxstarterBuild to pack the 
repository directory to a Chocolatey nupkg. If your path includes 
subdirectories, you can use Get-PackageRoot inside 
ChocolateyInstall.ps1 to reference the parent directory of the copied
content.

.PARAMETER Name
The name of the package to create

.PARAMETER Description
Description of the package to be written to the nuspec

.PARAMETER Path
Optional path whose contents will be copied to the repository

.LINK
http://boxstarter.org
New-PackageFromScript
about_boxstarter_chocolatey
about_boxstarter_variable_in_chocolatey
Invoke-BoxstarterBuild
Get-PackageRoot
#>
    [CmdletBinding()]
    param(
        [string]$Name,
        [string]$description,
        [string]$path,
        [switch]$quiet
    )
    if(!$boxstarter -or !$boxstarter.LocalRepo){
        throw "No Local Repository has been set in `$Boxstarter.LocalRepo."
    }
    if(!($name -match "^\w+(?:[_.-]\w+)*$") -or ($name.length -gt 100)){
        throw "Invalid Package ID"
    }
    $pkgDir = Join-Path $Boxstarter.LocalRepo $Name
    if(test-path $pkgDir) {
        throw "A LocalRepo already exists at $($boxstarter.LocalRepo)\$name. Delete the directory before calling New-BoxstarterPackage"
    }
    MkDir $pkgDir | out-null
    Pushd $pkgDir
    if($path){
        if(!(test-path $Path)){
            popd
            throw "$path could not be found"
        }
        if(test-path "$Path\$Name.nuspec") {
            Copy-Item "$path\*" . -recurse
        }
        else { Copy-Item $path . -recurse }
    }
    $pkgFile = Join-Path $pkgDir "$name.nuspec"
    if(!(test-path $pkgFile)){
        $nuspec = @"
<?xml version="1.0"?>
<package >
  <metadata>
    <id></id>
    <version>1.0.0</version>
    <authors></authors>
    <owners></owners>
    <description>Package description</description>
    <tags>Tag1 Tag2</tags>
  </metadata>
</package>
"@

        Invoke-RetriableScript {
            [xml]$xml = $args[1]
            $metadata = $xml.package.metadata
            # Why ToString()? I have no idea but psv2 breaks without it
            # What I do know is I can't wait for psv2 to die
            $metadata.id = $args[2].ToString()
            if($args[3]){$metadata.Description=$args[3]}
            $metadata.authors = $env:USERNAME
            $metadata.owners = $env:USERNAME
            $metadata.tags="Boxstarter"
            $xml.Save($args[0])
        } $pkgFile $nuspec $Name $description
    }
    if(!(test-path "tools")){
        Mkdir "tools" | out-null
    }
    $installScript=@"
try {

    Write-ChocolateySuccess '$name'
} catch {
  Write-ChocolateyFailure '$name' `$(`$_.Exception.Message)
  throw
}
"@
    if(!(test-path "tools\ChocolateyInstall.ps1")){
        new-Item "tools\ChocolateyInstall.ps1" -type file -value $installScript| out-null
    }
    Popd

    if(!$quiet){
        Write-BoxstarterMessage "A new Chocolatey package has been created at $pkgDir." -nologo
        Write-BoxstarterMessage "You may now edit the files in this package and build the final .nupkg using Invoke-BoxstarterBuild." -nologo
    }
}
tools\Boxstarter.Chocolatey\New-PackageFromScript.ps1
function New-PackageFromScript {
<#
.SYNOPSIS
Creates a Nuget package from a Chocolatey script

.DESCRIPTION
This creates a .nupkg file from a script file. It adds a dummy nuspec 
and packs the nuspec and script to a nuget package saved to 
$Boxstarter.LocalRepo. The function returns a string that is the 
Package Name of the package.

 .PARAMETER Source
 Either a file path or URI pointing to a resource containing a script.

 .PARAMETER PackageName
 The name of the package. If not provided, this will be "temp_BoxstarterPackage"

.EXAMPLE
$packageName = New-PackageFromScript myScript.ps1

Creates a Package from the myScript.ps1 file in the current directory.

.EXAMPLE
$packageName = New-PackageFromScript myScript.ps1 MyPackage

Creates a Package named "MyPackage" from the myScript.ps1 file in the current directory.

.EXAMPLE
$packageName = New-PackageFromScript c:\path\myScript.ps1

Creates a Package from the myScript.ps1 file in c:\path\myScript.ps1.

.EXAMPLE
$packageName = New-PackageFromScript \\server\share\myScript.ps1

Creates a Package from the myScript.ps1 file the share at \\server\share\myScript.ps1.

.EXAMPLE
$packageName = New-PackageFromScript https://gist.github.com/mwrock/6771863/raw/b579aa269c791a53ee1481ad01711b60090db1e2/gistfile1.txt

Creates a Package from the gist located at
https://gist.github.com/mwrock/6771863/raw/b579aa269c791a53ee1481ad01711b60090db1e2/gistfile1.txt

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
#>        
    [CmdletBinding()]
	param (
        [Parameter(Mandatory=1)]
        [string] $Source,
        [string] $PackageName="temp_BoxstarterPackage"
    )

    $chocoInstall = [System.Environment]::GetEnvironmentVariable('ChocolateyInstall', 'MACHINE')
    if($chocoInstall -eq $null) {
        # Simply Installs choco repo and helpers
        Call-Chocolatey
        $chocoInstall = [System.Environment]::GetEnvironmentVariable('ChocolateyInstall', 'MACHINE')
    }
    if($source -like "*://*"){
        try {$text = Get-HttpResource -url $Source -passthru } catch{
            throw "Unable to retrieve script from $source `r`nInner Exception is:`r`n$_"
        }
    }
    else {
        if(!(Test-Path $source)){
            throw "Path $source does not exist."
        }
        $text=Get-Content $source
    }

    if(Test-Path "$($boxstarter.LocalRepo)\$PackageName"){
        Remove-Item "$($boxstarter.LocalRepo)\$PackageName" -recurse -force
    }
    New-BoxstarterPackage $PackageName -quiet | Out-Null
    Set-Content "$($boxstarter.LocalRepo)\$PackageName\tools\ChocolateyInstall.ps1" -value $text
    Invoke-BoxstarterBuild $PackageName -quiet

    Write-BoxstarterMessage "Created a temporary package $PackageName from $source in $($boxstarter.LocalRepo)"
    return $PackageName
}
tools\Boxstarter.Chocolatey\Resolve-VMPlugin.ps1
function Resolve-VMPlugin {
    [CmdletBinding()]
    [OutputType([BoxstarterConnectionConfig])]
    param(
        $Provider
    )

    DynamicParam {
        if($provider -eq $null -or $Provider.Length -eq 0){$provider="HyperV"}
        $unNormalized=(Get-Item "$PSScriptRoot\..\Boxstarter.$provider\Boxstarter.$provider.psd1")
        Import-Module $unNormalized.FullName -global -DisableNameChecking -Force -ErrorAction SilentlyContinue | Out-Null
        $module=Get-Module "Boxstarter.$provider"
        if($module) {
            $command = Get-Command "$module\Enable-BoxstarterVM"
            $metadata=New-Object System.Management.Automation.CommandMetaData($command)
            $paramDictionary = new-object `
                        -Type System.Management.Automation.RuntimeDefinedParameterDictionary

            $metadata.Parameters.Keys | % {
                $param=$metadata.Parameters[$_]
                $attr = $param.Attributes | ? { $_.TypeId -eq [System.Management.Automation.ParameterAttribute] }
                $dynParam = new-object `
                        -Type System.Management.Automation.RuntimeDefinedParameter($param.Name, $param.ParameterType, $attr)
                $paramDictionary.Add($param.Name, $dynParam)
            }

            return $paramDictionary
        }
    }
    Process{
        if($provider -eq $null -or $Provider.Length -eq 0){$provider="HyperV"}
        $module=Get-Module "Boxstarter.$provider"
        if($module) {
            $command = Get-Command "$module\Enable-BoxstarterVM"
            $PSBoundParameters.Remove("Provider") | Out-Null
            &($command) @PSBoundParameters
        }
    }
}

new-alias Enable-BoxstarterVM Resolve-VMPlugin -force
tools\Boxstarter.Chocolatey\Send-File.ps1
function Send-File {
##############################################################################
##
## Send-File
##
## From Windows PowerShell Cookbook (O'Reilly)
## by Lee Holmes (http://www.leeholmes.com/guide)
##
##############################################################################

<#

.SYNOPSIS

Sends a file to a remote session.

.EXAMPLE

PS >$session = New-PsSession leeholmes1c23
PS >Send-File c:\temp\test.exe c:\temp\test.exe $session

#>

param(
    ## The path on the local computer
    [Parameter(Mandatory = $true)]
    $Source,

    ## The target path on the remote computer
    [Parameter(Mandatory = $true)]
    $Destination,

    ## The session that represents the remote computer
    [Parameter(Mandatory = $true)]
    [System.Management.Automation.Runspaces.PSSession] $Session
)

Set-StrictMode -Version Latest

## Get the source file, and then get its content
$sourcePath = (Resolve-Path $source).Path
$sourceBytes = [IO.File]::ReadAllBytes($sourcePath)
$streamChunks = @()

## Now break it into chunks to stream
$streamSize = 1MB
for($position = 0; $position -lt $sourceBytes.Length;
    $position += $streamSize)
{
    $remaining = $sourceBytes.Length - $position
    $remaining = [Math]::Min($remaining, $streamSize)

    $nextChunk = New-Object byte[] $remaining
    [Array]::Copy($sourcebytes, $position, $nextChunk, 0, $remaining)
    $streamChunks += ,$nextChunk
}

$remoteScript = {
    param($destination, $length)

    ## Convert the destination path to a full file system path (to support
    ## relative paths)
    $Destination = $executionContext.SessionState.`
        Path.GetUnresolvedProviderPathFromPSPath("$env:temp\$Destination")

    ## Create a new array to hold the file content
    $destBytes = New-Object byte[] $length
    $position = 0

    ## Go through the input, and fill in the new array of file content
    foreach($chunk in $input)
    {
        [GC]::Collect()
        [Array]::Copy($chunk, 0, $destBytes, $position, $chunk.Length)
        $position += $chunk.Length
    }

    ## Write the content to the new file
    [IO.File]::WriteAllBytes($destination, $destBytes)

    [GC]::Collect()
}

## Stream the chunks into the remote script
$streamChunks | Invoke-Command -Session $session $remoteScript `
    -ArgumentList $destination,$sourceBytes.Length -ErrorAction Stop
}
tools\Boxstarter.Chocolatey\Set-BoxstarterConfig.ps1
function Set-BoxStarterConfig {
<#
.SYNOPSIS
Sets persist-able Boxstarter configuration settings.

.DESCRIPTION
Boxstarter stores configuration data in an xml file in the Boxstarter base
directory. The Set-BoxstarterConfig function is a convenience function
for changing those settings.

.Parameter LocalRepo
The path where Boxstarter will search for local packages.

.Parameter NugetSources
A semicolon delimited list of Nuget Feed URLs where Boxstarter will search for packages

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
about_boxstarter_variable_in_chocolatey
Get-BoxstarterConfig
#>    
    [CmdletBinding()]
    param([string]$LocalRepo, [string]$NugetSources)

    [xml]$configXml = Get-Content (Join-Path $Boxstarter.BaseDir BoxStarter.config)

    if($NugetSources){
        $boxstarter.NugetSources = $configXml.config.NugetSources = $NugetSources
    }
    if($LocalRepo){
        if($configXml.config.LocalRepo -eq $null) {
            $localRepoElement = $configXml.CreateElement("LocalRepo")
            $configXml.config.AppendChild($localRepoElement) | Out-Null
        }
        $boxstarter.LocalRepo = $configXml.config.LocalRepo = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($LocalRepo)
    }

    $configXml.Save((Join-Path $Boxstarter.BaseDir BoxStarter.config))
}
tools\Boxstarter.Chocolatey\Set-BoxstarterShare.ps1
function Set-BoxstarterShare {
<#
.SYNOPSIS
Shares the Boxstarter root directory - $Boxstarter.BaseDir

.DESCRIPTION
Shares the Boxstarter root directory - $Boxstarter.BaseDir - so that 
it can be accessed remotely. This allows remote machines to Invoke 
ChocolateyBoxstarter via \\server\shareName\Boxstarter.bat. Unless 
specified otherwise, the share name is Boxstarter and Everyone is 
given Read permissions.

.PARAMETER ShareName
The name to give to the share. This is the name by which other 
machines can access it. Boxstarter is the default.

.PARAMETER Accounts
A list of accounts to be given read access to the share. Everyone is 
the default.

.EXAMPLE
Set-BoxstarterShare

Shares the Boxstarter root as Boxstarter to everyone.

.EXAMPLE
Set-BoxstarterShare BuildRepo

Shares the Boxstarter Root as BuildRepo to everyone.

.EXAMPLE
Set-BoxstarterShare -Accounts "corp\mwrock","corp\gmichaels"

Shares the Boxstarter root as Boxstarter to mwrock and gmichaels in the corp domain.

.LINK
http://boxstarter.org
about_boxstarter_chocolatey
Invoke-ChocolateyBoxstarter
New-BoxstarterPackage
Invoke-BoxstarterBuild
#>
    param(
        [string]$shareName="Boxstarter",
        [string[]]$accounts=@("Everyone")
    )
    if(!(Test-Admin)) {
        $unNormalized=(Get-Item "$($Boxstarter.Basedir)\Boxstarter.Chocolatey\BoxStarter.Chocolatey.psd1")
        $command = "-ExecutionPolicy bypass -command Import-Module `"$($unNormalized.FullName)`";Set-BoxstarterShare @PSBoundParameters"
        Start-Process powershell -verb runas -argumentlist $command
        return
    }

    foreach($account in $accounts){
        $acctOption += "/GRANT:'$account,READ' "
    }
    IEX "net share $shareName='$($Boxstarter.BaseDir)' $acctOption"
    if($LastExitCode -ne 0) {
        Throw "Sharing $shareName on $($Boxstarter.BaseDir) to $acctOption was not successful. Use NET SHARE $ShareName to see if share already exists. To Delete the share use NET SHARE $ShareName /DELETE."
    }
}

tools\boxstarter.config
<config>
  <ChocolateyPackage>http://chocolatey.org/api/v2/package/chocolatey/0.9.8.33</ChocolateyPackage>
  <ChocolateyRepo>http://chocolatey.org/install.ps1</ChocolateyRepo>
  <NugetSources>http://chocolatey.org/api/v2;http://www.myget.org/F/boxstarter/api/v2</NugetSources>
</config>
tools\BoxstarterShell.ps1
$here = Split-Path -parent $MyInvocation.MyCommand.Definition

# Import the chocolatey module first so that $Boxstarter properties 
# are initialized correctly and then import everything else.
Import-Module $here\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1 -DisableNameChecking -ErrorAction SilentlyContinue
Resolve-Path $here\Boxstarter.*\*.psd1 | 
    % { Import-Module $_.ProviderPath -DisableNameChecking -ErrorAction SilentlyContinue }
Import-Module $here\Boxstarter.Common\Boxstarter.Common.psd1 -Function Test-Admin

if(!(Test-Admin)) {
    Write-BoxstarterMessage "Not running with administrative rights. Attempting to elevate..."
    $command = "-ExecutionPolicy bypass -noexit -command &'$here\BoxstarterShell.ps1'"
    Start-Process powershell -verb runas -argumentlist $command
    Exit
}

$Host.UI.RawUI.WindowTitle="Boxstarter Shell"
cd $env:SystemDrive\
Write-Output @"
Welcome to the Boxstarter shell!
The Boxstarter commands have been imported from $here and are available for you to run in this shell.
You may also import them into the shell of your choice. 

Here are some commands to get you started:
Install a Package:   Install-BoxstarterPackage
Create a Package:    New-BoxstarterPackage
Build a Package:     Invoke-BoxstarterBuild
Enable a VM:         Enable-BoxstarterVM
For Command help:    Get-Help <Command Name> -Full

For Boxstarter documentation, source code, to report bugs or participate in discussions, please visit http://boxstarter.org
"@
tools\chocolateyinstall.ps1
$tools = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
. (Join-Path $tools Setup.ps1)
try { 
    $ModuleName = (Get-ChildItem $tools | ?{ $_.PSIsContainer }).BaseName
    $preInstall = Join-Path $tools "$modulename.preinstall.ps1"
    if(Test-Path $preInstall) { .$preInstall }
    Install-Boxstarter $tools $ModuleName $env:chocolateyPackageParameters
} catch {
    write-output $_ | fl * -force
    throw $_.Exception
}
tools\LICENSE.txt
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.
tools\setup.ps1
function Install-Boxstarter($here, $ModuleName, $installArgs = "") {
    $boxstarterPath = Join-Path $env:ProgramData Boxstarter
    if(!(test-Path $boxstarterPath)){
        mkdir $boxstarterPath
    }
    $packagePath=Join-Path $boxstarterPath BuildPackages
    if(!(test-Path $packagePath)){
        mkdir $packagePath
    }    
    foreach($ModulePath in (Get-ChildItem $here | ?{ $_.PSIsContainer })){
        $target=Join-Path $boxstarterPath $modulePath.BaseName
        if(test-Path $target){
            Remove-Item $target -Recurse -Force
        }
    }
    Copy-Item "$here\*" $boxstarterPath -Recurse -Force -Exclude ChocolateyInstall.ps1, Setup.*

    PersistBoxStarterPathToEnvironmentVariable "PSModulePath" $boxstarterPath
    PersistBoxStarterPathToEnvironmentVariable "Path" $boxstarterPath
    $binPath =  "$here\..\..\..\bin"
    $boxModule=Get-Module Boxstarter.Chocolatey
    if($boxModule) {
        if($boxModule.Path -like "$env:LOCALAPPDATA\Apps\*") {
            $clickonce=$true
        }
    }
    if(!$clickonce){
        Import-Module "$boxstarterPath\$ModuleName" -DisableNameChecking -Force -ErrorAction SilentlyContinue
    }
    $successMsg = @"
The $ModuleName Module has been copied to $boxstarterPath and added to your Module path. 
You will need to open a new console for the path to be visible.
Use 'Get-Module Boxstarter.* -ListAvailable' to list all Boxstarter Modules.
To list all available Boxstarter Commands, use:
PS:>Import-Module $ModuleName
PS:>Get-Command -Module Boxstarter.*

To find more info visit http://Boxstarter.org or use:
PS:>Import-Module $ModuleName
PS:>Get-Help Boxstarter
"@
    Write-Host $successMsg

    if($ModuleName -eq "Boxstarter.Chocolatey" -and !$env:appdata.StartsWith($env:windir)) {
        $desktop = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::CommonDesktopDirectory)
        $startMenu = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::CommonStartMenu)
        $startMenu += "\Programs\Boxstarter"
        if(!(Test-Path $startMenu)){
            mkdir $startMenu
        }
        $target="powershell.exe"
        $targetArgs="-ExecutionPolicy bypass -NoExit -Command `"&'$boxstarterPath\BoxstarterShell.ps1'`""

		if($installArgs -inotcontains "nodesktopicon") {
			$link = Join-Path $desktop "Boxstarter Shell.lnk"
			Create-Shortcut $link $target $targetArgs $boxstarterPath
		}
        $link = Join-Path $startMenu "Boxstarter Shell.lnk"
        Create-Shortcut $link $target $targetArgs $boxstarterPath

        Set-Content -Path "$binPath\BoxstarterShell.bat" -Force -Value "$target $TargetArgs"
    }
}

function Create-Shortcut($location, $target, $targetArgs, $boxstarterPath) {
    $wshshell = New-Object -ComObject WScript.Shell
    $lnk = $wshshell.CreateShortcut($location)
    $lnk.TargetPath = $target
    $lnk.Arguments = "$targetArgs"
    $lnk.WorkingDirectory = $boxstarterPath
    $lnk.IconLocation="$boxstarterPath\BoxLogo.ico"
    $lnk.Save()

    #This adds a bit to the shortcut link that causes it to open with admin privileges
	$tempFile = "$env:temp\TempShortcut.lnk"
		
	$writer = new-object System.IO.FileStream $tempFile, ([System.IO.FileMode]::Create)
	$reader = new-object System.IO.FileStream $location, ([System.IO.FileMode]::Open)
		
	while ($reader.Position -lt $reader.Length)
	{		
		$byte = $reader.ReadByte()
		if ($reader.Position -eq 22) {
			$byte = 34
		}
		$writer.WriteByte($byte)
	}
		
	$reader.Close()
	$writer.Close()
				
	Move-Item -Path $tempFile $location -Force
}
function PersistBoxStarterPathToEnvironmentVariable($variableName, $boxstarterPath){
    # Remove user scoped vars from previous releases
    $userValue = [Environment]::GetEnvironmentVariable($variableName, 'User')
    if($userValue){
        $userValues=($userValue -split ';' | ?{ !($_.ToLower() -match "\\boxstarter$")}) -join ';'
    } 
    elseif($variableName -eq "PSModulePath") {
        $userValues = [environment]::getfolderpath("mydocuments")
        $userValues +="\WindowsPowerShell\Modules"
    }
    [Environment]::SetEnvironmentVariable($variableName, $userValues, 'User')

    $value = [Environment]::GetEnvironmentVariable($variableName, 'Machine')
    if($value){
        $values=($value -split ';' | ?{ !($_.ToLower() -match "\\boxstarter$")}) -join ';'
        $values="$boxstarterPath;$values"
    } 
    elseif($variableName -eq "PSModulePath") {
        $values = "$boxstarterPath;"
        $values += [environment]::getfolderpath("ProgramFiles")
        $values +="\WindowsPowerShell\Modules"
    }
    else {
        $values ="$boxstarterPath"
    }

    [Environment]::SetEnvironmentVariable($variableName, $values, 'Machine')
    $varValue = Get-Content env:\$variableName
    $varValue = "$boxstarterPath;$varValue"
    Set-Content env:\$variableName -value $varValue
}

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Boxstarter Chocolatey Module 3.0.2 34636 Monday, June 12, 2023 Approved
Boxstarter Chocolatey Module 3.0.1 4038 Tuesday, June 6, 2023 Approved
Boxstarter Chocolatey Module 3.0.0 91039 Thursday, July 14, 2022 Approved
Boxstarter Chocolatey Module 3.0.0-beta-20220427-21 127 Wednesday, April 27, 2022 Exempted
Boxstarter Chocolatey Module 2.13.0 153050 Thursday, October 15, 2020 Approved
Boxstarter Chocolatey Module 2.12.0 390697 Tuesday, October 30, 2018 Approved
Boxstarter Chocolatey Module 2.11.0 65049 Wednesday, May 16, 2018 Approved
Boxstarter Chocolatey Module 2.10.3 52460 Thursday, August 31, 2017 Approved
Boxstarter Chocolatey Module 2.9.26 5535 Monday, June 19, 2017 Approved
Boxstarter Chocolatey Module 2.9.24 822 Sunday, June 18, 2017 Approved
Boxstarter Chocolatey Module 2.9.14 6941 Friday, May 5, 2017 Approved
Boxstarter Chocolatey Module 2.9.5 4730 Thursday, March 30, 2017 Approved
Boxstarter Chocolatey Module 2.8.29 31328 Sunday, May 22, 2016 Approved
Boxstarter Chocolatey Module 2.8.27 430 Sunday, May 22, 2016 Approved
Boxstarter Chocolatey Module 2.8.21 1026 Thursday, April 28, 2016 Approved
Boxstarter Chocolatey Module 2.8.18 720 Tuesday, April 26, 2016 Approved
Boxstarter Chocolatey Module 2.8.12 1092 Thursday, April 21, 2016 Approved
Boxstarter Chocolatey Module 2.8.0 1166 Friday, April 15, 2016 Approved
Boxstarter Chocolatey Module 2.7.0 1986 Sunday, April 3, 2016 Approved
Boxstarter Chocolatey Module 2.6.41 3699 Sunday, February 28, 2016 Approved
Boxstarter Chocolatey Module 2.6.25 6519 Friday, December 18, 2015 Approved
Boxstarter Chocolatey Module 2.6.20 485 Thursday, December 17, 2015 Approved
Boxstarter Chocolatey Module 2.6.16 705 Tuesday, December 15, 2015 Approved
Boxstarter Chocolatey Module 2.6.2 671 Monday, December 14, 2015 Approved
Boxstarter Chocolatey Module 2.6.0 462 Sunday, December 13, 2015 Approved
Boxstarter Chocolatey Module 2.5.21 9060 Thursday, August 13, 2015 Approved
Boxstarter Chocolatey Module 2.5.19 1962 Sunday, July 26, 2015 Approved
Boxstarter Chocolatey Module 2.5.10 1703 Friday, July 10, 2015 Approved
Boxstarter Chocolatey Module 2.5.3 1310 Wednesday, July 1, 2015 Approved
Boxstarter Chocolatey Module 2.5.1 535 Wednesday, July 1, 2015 Approved
Boxstarter Chocolatey Module 2.4.209 4489 Sunday, April 26, 2015 Approved
Boxstarter Chocolatey Module 2.4.205 2608 Sunday, April 5, 2015 Approved
Boxstarter Chocolatey Module 2.4.196 1468 Friday, March 20, 2015 Approved
Boxstarter Chocolatey Module 2.4.188 1250 Monday, March 9, 2015 Approved
Boxstarter Chocolatey Module 2.4.183 859 Wednesday, March 4, 2015 Approved
Boxstarter Chocolatey Module 2.4.180 441 Tuesday, March 3, 2015 Approved
Boxstarter Chocolatey Module 2.4.179 436 Tuesday, March 3, 2015 Approved
Boxstarter Chocolatey Module 2.4.159 2735 Sunday, January 18, 2015 Approved
Boxstarter Chocolatey Module 2.4.157 654 Thursday, January 15, 2015 Approved
Boxstarter Chocolatey Module 2.4.152 809 Monday, January 12, 2015 Approved
Boxstarter Chocolatey Module 2.4.149 1373 Friday, December 26, 2014 Approved
Boxstarter Chocolatey Module 2.4.146 493 Friday, December 26, 2014 Approved
Boxstarter Chocolatey Module 2.4.128 1920 Thursday, November 27, 2014 Approved
Boxstarter Chocolatey Module 2.4.123 3827 Wednesday, September 24, 2014 Approved
Boxstarter Chocolatey Module 2.4.110 842 Wednesday, September 17, 2014 Approved
Boxstarter Chocolatey Module 2.4.93 794 Friday, September 12, 2014 Approved
Boxstarter Chocolatey Module 2.4.88 1017 Wednesday, September 3, 2014 Approved
Boxstarter Chocolatey Module 2.4.87 421 Wednesday, September 3, 2014 Approved
Boxstarter Chocolatey Module 2.4.80 2765 Monday, August 4, 2014 Approved
Boxstarter Chocolatey Module 2.4.76 480 Sunday, August 3, 2014 Approved
Boxstarter Chocolatey Module 2.4.70 654 Thursday, July 31, 2014 Approved
Boxstarter Chocolatey Module 2.4.67 696 Wednesday, July 30, 2014 Approved
Boxstarter Chocolatey Module 2.4.61 599 Monday, July 28, 2014 Approved
Boxstarter Chocolatey Module 2.4.57 453 Sunday, July 27, 2014 Approved
Boxstarter Chocolatey Module 2.4.54 620 Wednesday, July 23, 2014 Approved
Boxstarter Chocolatey Module 2.4.53 455 Wednesday, July 23, 2014 Approved
Boxstarter Chocolatey Module 2.4.51 422 Wednesday, July 23, 2014 Approved
Boxstarter Chocolatey Module 2.4.48 518 Tuesday, July 22, 2014 Approved
Boxstarter Chocolatey Module 2.4.46 590 Saturday, July 19, 2014 Approved
Boxstarter Chocolatey Module 2.4.41 668 Sunday, July 13, 2014 Approved
Boxstarter Chocolatey Module 2.4.39 423 Sunday, July 13, 2014 Approved
Boxstarter Chocolatey Module 2.4.38 455 Saturday, July 12, 2014 Approved
Boxstarter Chocolatey Module 2.4.35 411 Saturday, July 12, 2014 Approved
Boxstarter Chocolatey Module 2.4.32 427 Friday, July 11, 2014 Approved
Boxstarter Chocolatey Module 2.4.29 1253 Friday, July 4, 2014 Approved
Boxstarter Chocolatey Module 2.4.26 1061 Monday, June 23, 2014 Approved
Boxstarter Chocolatey Module 2.4.15 3000 Sunday, April 20, 2014 Approved
Boxstarter Chocolatey Module 2.4.12 445 Saturday, April 19, 2014 Approved
Boxstarter Chocolatey Module 2.4.4 805 Saturday, April 5, 2014 Approved
Boxstarter Chocolatey Module 2.4.0 455 Friday, April 4, 2014 Approved
Boxstarter Chocolatey Module 2.3.24 1902 Saturday, February 1, 2014 Approved
Boxstarter Chocolatey Module 2.3.15 562 Monday, January 27, 2014 Approved
Boxstarter Chocolatey Module 2.3.13 444 Saturday, January 25, 2014 Approved
Boxstarter Chocolatey Module 2.3.8 483 Thursday, January 23, 2014 Approved
Boxstarter Chocolatey Module 2.3.0 518 Monday, January 20, 2014 Approved
Boxstarter Chocolatey Module 2.2.78 662 Thursday, January 9, 2014 Approved
Boxstarter Chocolatey Module 2.2.59 768 Sunday, December 29, 2013 Approved
Boxstarter Chocolatey Module 2.2.23 822 Saturday, December 14, 2013 Approved
Boxstarter Chocolatey Module 2.2.16 425 Friday, December 13, 2013 Approved
Boxstarter Chocolatey Module 2.2.15 441 Friday, December 13, 2013 Approved
Boxstarter Chocolatey Module 2.2.12 440 Friday, December 13, 2013 Approved
BoxStarter Chocolatey Module 2.2.0 480 Thursday, December 12, 2013 Approved
BoxStarter Chocolatey Module 2.1.0 537 Saturday, November 30, 2013 Approved
BoxStarter Chocolatey Module 2.0.25 486 Wednesday, November 20, 2013 Approved
BoxStarter Chocolatey Module 2.0.11 493 Monday, November 11, 2013 Approved
BoxStarter Chocolatey Module 2.0.4 474 Saturday, November 9, 2013 Approved
BoxStarter Chocolatey Module 2.0.1 461 Friday, November 8, 2013 Approved
BoxStarter Chocolatey Module 1.1.40 553 Tuesday, October 1, 2013 Approved
BoxStarter Chocolatey Module 1.1.35 523 Monday, August 12, 2013 Approved
BoxStarter Chocolatey Module 1.1.30 479 Sunday, August 11, 2013 Approved
BoxStarter Chocolatey Module 1.1.22 439 Thursday, August 8, 2013 Approved
BoxStarter Chocolatey Module 1.1.18 459 Tuesday, August 6, 2013 Approved
BoxStarter Chocolatey Module 1.1.12 407 Sunday, August 4, 2013 Approved
BoxStarter Chocolatey Module 1.1.0 474 Thursday, August 1, 2013 Approved
BoxStarter Chocolatey Module 1.0.33 538 Thursday, April 18, 2013 Approved
BoxStarter Chocolatey Module 1.0.20 433 Monday, April 15, 2013 Approved
BoxStarter Chocolatey Module 1.0.13 506 Monday, March 25, 2013 Approved
BoxStarter Chocolatey Module 1.0.3 485 Wednesday, March 13, 2013 Approved

  • Revert vendored chocolatey to stable 0.10.5
  • Fix HRESULT code for WU_E_INSTALL_NOT_ALLOWED
  • Handle the case where the Windows Update Agent is updating itself
  • Install boxstarter to macine instead of user
Discussion for the Boxstarter Chocolatey Module Package

Ground Rules:

  • This discussion is only about Boxstarter Chocolatey Module and the Boxstarter Chocolatey Module package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Boxstarter Chocolatey Module, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus