<Type Name="Directory" FullName="System.IO.Directory" FullNameSP="System_IO_Directory" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed Directory extends System.Object" />
  <TypeSignature Language="C#" Value="public static class Directory" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
      <para> Provides information and performs operations
      on directories.</para>
    </summary>
    <remarks>
      <para>Implementations are required to preserve
      the case of file and directory path strings, and to be case
      sensitive if and only if the current platform is case-sensitive. </para>
      <para>
        <block subset="none" type="note">In most
   <see langword=" Directory" /> methods that accept <paramref name="path" />
   arguments, the path can refer to a file or a directory. </block>
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName="CreateDirectory">
      <MemberSignature Language="C#" Value="public static System.IO.DirectoryInfo CreateDirectory (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.DirectoryInfo</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the path to be created.</param>
        <summary>Creates the specified path and any additional parents if non-existant.</summary>
        <returns>A <see cref="T:System.IO.DirectoryInfo" /> representing the created directory.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CreateDirectory">
      <MemberSignature Language="C#" Value="public static System.IO.DirectoryInfo CreateDirectory (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.DirectoryInfo</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="directorySecurity" Type="System.Security.AccessControl.DirectorySecurity" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="directorySecurity">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Delete">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void Delete(string path)" />
      <MemberSignature Language="C#" Value="public static void Delete (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory to delete. This directory must be writable and empty.</param>
        <summary>
          <para> Deletes the empty directory
      specified in <paramref name="path" />.</para>
        </summary>
        <remarks>
          <para> This method behaves identically to <see cref="M:System.IO.Directory.Delete(System.String)" />(<paramref name="path" />, <see langword="false" /> ).</para>
          <para>The <paramref name="path" />
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />is <see langword="null" />.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The specified <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.IOException">The directory specified by <paramref name="path" /> is read-only or is not empty.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Delete">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void Delete(string path, bool recursive)" />
      <MemberSignature Language="C#" Value="public static void Delete (string path, bool recurse);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="recurse" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory to delete. This directory must be writable and cannot contain files unless <paramref name="recursive" /> is true.</param>
        <param name="recursive">Specify <see langword="true" /> to delete subdirectories and files in <paramref name="path" />; otherwise, specify <see langword="false" />.</param>
        <param name="recurse">To be added.</param>
        <summary>
          <para> Deletes the specified directory and, if indicated, any subdirectories in the directory.</para>
        </summary>
        <remarks>
          <para>The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />is <see langword="null" />.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The specified <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.IOException">The directory specified by <paramref name="path" /> is read-only, or <paramref name="recursive" /> is <see langword="false" /> and <paramref name="path" /> is not an empty directory.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Exists">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool Exists(string path)" />
      <MemberSignature Language="C#" Value="public static bool Exists (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory to check.</param>
        <summary>
          <para> Returns a <see cref="T:System.Boolean" /> indicating whether
   the
   specified directory exists.</para>
        </summary>
        <returns>
          <para>
            <see langword="true " />if the caller
   has the required permissions and <paramref name="path" /> contains the name of an existing directory; otherwise, <see langword="false" />. If <paramref name="path" /> is <see langword="null" />, a zero-length string, or contains the
   name of
   a file, returns <see langword="false" />.</para>
        </returns>
        <remarks>
          <para>If the caller does not have sufficient permissions to read the files
      in the directory specified by <paramref name="path" />, no
      exception is thrown and the method returns <see langword="false" />
      regardless of the existence of <paramref name="path" />.</para>
          <para>The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />.</permission>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetAccessControl">
      <MemberSignature Language="C#" Value="public static System.Security.AccessControl.DirectorySecurity GetAccessControl (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.AccessControl.DirectorySecurity</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="GetAccessControl">
      <MemberSignature Language="C#" Value="public static System.Security.AccessControl.DirectorySecurity GetAccessControl (string path, System.Security.AccessControl.AccessControlSections includeSections);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.AccessControl.DirectorySecurity</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="includeSections" Type="System.Security.AccessControl.AccessControlSections" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="includeSections">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="GetCreationTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetCreationTime(string path)" />
      <MemberSignature Language="C#" Value="public static DateTime GetCreationTime (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the file or directory for which to obtain creation date and time information.</param>
        <summary>
          <para>Returns the creation date and time of the specified file or directory.</para>
        </summary>
        <returns>
          <para>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.</para>
          <para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue" />.</para>
        </returns>
        <remarks>
          <para>This method is equivalent to <see cref="M:System.IO.File.GetCreationTime(System.String)" />
(<paramref name="path" />).</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.IOException">The directory specified by <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetCreationTimeUtc">
      <MemberSignature Language="C#" Value="public static DateTime GetCreationTimeUtc (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCurrentDirectory">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string GetCurrentDirectory()" />
      <MemberSignature Language="C#" Value="public static string GetCurrentDirectory ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Returns the application's current working directory.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing the path of the current working directory.</para>
          <para>Platforms that do not
   support this feature return <see cref="F:System.String.Empty" />.</para>
        </returns>
        <remarks />
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the current directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" /></permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetDirectories">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetDirectories(string path)" />
      <MemberSignature Language="C#" Value="public static string[] GetDirectories (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory for which an array of subdirectory names is returned.</param>
        <summary>
          <para>Returns the names of subdirectories in the specified directory.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> array containing the names
   of subdirectories in <paramref name="path" />.</para>
        </returns>
        <remarks>
          <para> This method is identical to <see cref="M:System.IO.Directory.GetDirectories(System.String)" /> (<paramref name="path" />
, "*").</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
          <para>The names returned by this method are prefixed with the directory information
provided in <paramref name="path" />.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />is <see langword="null" />. </exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains implementation-specific invalid characters.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is a file name.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and its subdirectories. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetDirectories">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetDirectories(string path, string searchPattern)" />
      <MemberSignature Language="C#" Value="public static string[] GetDirectories (string path, string pattern);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="pattern" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the starting location for the search.</param>
        <param name="searchPattern">A <see cref="T:System.String" /> containing the text pattern to match against the names of subdirectories of <paramref name="path" />. <paramref name="searchPattern" /> cannot end with  "..", or contain ".." followed by <see cref="F:System.IO.Path.DirectorySeparatorChar" /> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar" />.</param>
        <param name="pattern">To be added.</param>
        <summary>
          <para> Returns the names of subdirectories in the specified
      directory that match the specified search pattern.</para>
        </summary>
        <returns>
          <para>A <see langword="String" /> array
   containing the names of subdirectories of <paramref name="path" /> that match
<paramref name="searchPattern" />.</para>
        </returns>
        <remarks>
          <para>The following wild card specifiers are permitted in
      <paramref name="searchPattern" />:</para>
          <list type="table">
            <listheader>
              <term>Wild card</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> *</term>
              <description>Zero or more characters.</description>
            </item>
            <item>
              <term> ?</term>
              <description>Exactly one character.</description>
            </item>
          </list>
          <para>The period (".") character, if immediately followed by a wild card specifier,
      indicates that the period or the empty string matches the
      pattern. For example, "foo.*" and "foo.?" match "foo". Note that
      "foo.*" and "foo*" behave identically. If the period is not immediately followed
      by a wildcard, it has no special meaning (it represents a period).</para>
          <para>Characters other than the wild card specifiers represent themselves, for example, the<paramref name=" searchPattern " /> string "*t" searches for all names in<paramref name="path" /> ending with the letter "t". The <paramref name="searchPattern" /> string
   "s*" searches for all names in <paramref name="path" /> beginning with the letter "s".</para>
          <para>The <paramref name="path" /> argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />or<paramref name=" searchPattern " />is <see langword="null" />. </exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have permission to access the requested information.</exception>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="path " />is a zero-length string, contains only white space, or contains implementation-specific invalid characters.</para>
          <para>
            <paramref name="searchPattern" /> does not contain a valid pattern.</para>
        </exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is a file name.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and its subdirectories. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have permission to access the requested information.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetDirectories">
      <MemberSignature Language="C#" Value="public static string[] GetDirectories (string path, string pattern, System.IO.SearchOption option);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="pattern" Type="System.String" />
        <Parameter Name="option" Type="System.IO.SearchOption" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="pattern">To be added.</param>
        <param name="option">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="GetDirectoryRoot">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string GetDirectoryRoot(string path)" />
      <MemberSignature Language="C#" Value="public static string GetDirectoryRoot (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of a file or directory.</param>
        <summary>
          <para> Returns the
      path root component of the specified path.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing
   the root information for the specified path.</para>
          <para>Platforms that do not
   support this feature return <see cref="F:System.String.Empty" />.</para>
        </returns>
        <remarks>
          <para> This method obtains the full path information for <paramref name="path" />, as returned by <see cref="M:System.IO.Path.GetFullPath(System.String)" /> (<paramref name="path" />) and returns the path root component. The specified path is not required to exist.</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" /> .</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="path" /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters. </para>
        </exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" /></permission>
        <example>
          <para>The following example demonstrates the <see cref="M:System.IO.Directory.GetDirectoryRoot(System.String)" /> method.</para>
          <code lang="C#">using System;
using System.IO;
class GetDirectoryTest {
  public static void Main() {
    string [] paths = {                                          

@"\ecmatest\examples\pathtests.txt",
      "pathtests.xyzzy",
      @"\",
      @"C:\",
      @"\\myserver\myshare\foo\bar\baz.txt"
    };
    foreach (string pathString in paths) {
      string s = Directory.GetDirectoryRoot(pathString);
      Console.WriteLine("Path: {0} Directory Root is {1}",pathString, s== null? "null":s);
    }
  }
}
</code>
          <para>The output is </para>
          <c>
            <para>Path: \ecmatest\examples\pathtests.txt Directory Root is C:\</para>
            <para>Path: pathtests.xyzzy Directory Root is C:\</para>
            <para>Path: \ Directory Root is C:\</para>
            <para>Path: C:\ Directory Root is C:\</para>
            <para>Path: \\myserver\myshare\foo\bar\baz.txt 
   Directory Root is \\myserver\myshare</para>
          </c>
        </example>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetFiles">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFiles(string path)" />
      <MemberSignature Language="C#" Value="public static string[] GetFiles (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory for which file names are returned.</param>
        <summary>
          <para> Returns the names of all files in the specified directory.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> array
   containing the names of the files in the specified directory.</para>
          <para>Platforms that do not support this feature
   return <see langword="null" />.</para>
        </returns>
        <remarks>
          <para> This method is identical to <see cref="M:System.IO.Directory.GetFiles(System.String)" /> (<paramref name="path" />, "*").</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <para>
            <paramref name="path " />is null.</para>
        </exception>
        <exception cref="T:System.ArgumentException">
          <para>path is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters. </para>
        </exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is a file name.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and the files in that directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetFiles">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFiles(string path, string searchPattern)" />
      <MemberSignature Language="C#" Value="public static string[] GetFiles (string path, string pattern);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="pattern" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory to search.</param>
        <param name="searchPattern">A <see cref="T:System.String" /> containing the text pattern to match against the names of files in <paramref name="path" />. <paramref name="searchPattern" /> cannot end with  "..", or contain ".." followed by <see cref="F:System.IO.Path.DirectorySeparatorChar" /> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar" />.</param>
        <param name="pattern">To be added.</param>
        <summary>
          <para> Returns the names of files in
      the specified directory that match the
      specified search pattern.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" />
array containing the names of files in the specified directory that match the
specified search pattern.</para>
        </returns>
        <remarks>
          <para>The following wild card specifiers are permitted in <paramref name="searchPattern" />:</para>
          <list type="table">
            <listheader>
              <term>Wild
         card</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> *</term>
              <description>Zero
         or more characters.</description>
            </item>
            <item>
              <term> ?</term>
              <description>Exactly one character.</description>
            </item>
          </list>
          <para> The period (".") character, if immediately followed by a wild card specifier,
   indicates that the period or the empty string matches the
   pattern. For example, "foo.*" and "foo.?" match "foo". Note that
   "foo.*" and "foo*" behave identically. If the period is not immediately followed
   by a wildcard, it has no special meaning (it represents a period). </para>
          <para>Characters other than the wild card specifiers and the period always represent themselves, for example, the
<paramref name="searchPattern" /> string "*t" searches for all 
   names in <paramref name="path" /> ending with the letter "t". The <paramref name="searchPattern" /> string "s*" searches for all
   names in <paramref name="path" /> beginning with the
   letter "s".</para>
          <para>The <paramref name="path" /> argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="searchPattern " />or <paramref name="path" /> is <see langword="null" /> .</exception>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="path" /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</para>
          <para>-or-</para>
          <para>
            <paramref name="searchPattern" /> does not contain a valid pattern.</para>
        </exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is an existing file name.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and the files in that directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" /></permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetFiles">
      <MemberSignature Language="C#" Value="public static string[] GetFiles (string path, string searchPattern, System.IO.SearchOption searchOption);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="searchPattern" Type="System.String" />
        <Parameter Name="searchOption" Type="System.IO.SearchOption" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="searchPattern">To be added.</param>
        <param name="searchOption">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="GetFileSystemEntries">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFileSystemEntries(string path)" />
      <MemberSignature Language="C#" Value="public static string[] GetFileSystemEntries (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory for which file and subdirectory names are returned.</param>
        <summary>
          <para>Returns the names of all files and subdirectories in the specified directory.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> array containing the names of file system entries in the specified directory.</para>
        </returns>
        <remarks>
          <para> This method is identical to <see cref="M:System.IO.Directory.GetFileSystemEntries(System.String)" />
(<paramref name="path" />, "*").</para>
          <para>The names returned by this method are prefixed with the
   directory information provided in <paramref name="path" />. The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />
   
   .</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" /> .</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path" /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is a file name.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" /></permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetFileSystemEntries">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFileSystemEntries(string path, string searchPattern)" />
      <MemberSignature Language="C#" Value="public static string[] GetFileSystemEntries (string path, string pattern);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="pattern" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the directory to search.</param>
        <param name="searchPattern">A <see cref="T:System.String" /> containing the text pattern for which to search. <paramref name="searchPattern" /> cannot end with "..", or contain ".." followed by <see cref="F:System.IO.Path.DirectorySeparatorChar" /> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar" /> .</param>
        <param name="pattern">To be added.</param>
        <summary>
          <para> Returns an
      array of file and directory names matching the specified search criteria.</para>
        </summary>
        <returns>
          <para>A <see langword="String" /> array
   containing
   file and directory names matching the specified search criteria.</para>
        </returns>
        <remarks>
          <para>The following wild card specifiers are permitted in <paramref name="searchPattern" />:</para>
          <list type="table">
            <listheader>
              <term>Wild
         card</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> * </term>
              <description>Zero
         or more characters. </description>
            </item>
            <item>
              <term> ?</term>
              <description>Exactly one character.</description>
            </item>
          </list>
          <para>The period (".") character, if immediately followed by a wild card specifier,
   indicates that the period or the empty string matches the
   pattern. For example, "foo.*" and "foo.?" match "foo". Note that
   "foo.*" and "foo*" behave identically. If the period is not immediately followed
   by a wildcard, it has no special meaning (it represents a period).</para>
          <para>Characters other than the wild card specifiers represent themselves, for example, the
<paramref name="searchPattern" /> string "*t" searches for all names in 
<paramref name="path" /> ending with the letter "t". The <paramref name="searchPattern" /> string "s*" searches for all names in <paramref name="path" /> beginning with the letter "s".</para>
          <para>The names returned by this method are prefixed with the
   directory information provided in <paramref name="path" />. The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="searchPattern " />or <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="path" /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</para>
          <para>-or-</para>
          <para>
            <paramref name="searchPattern" /> does not contain a valid pattern.</para>
        </exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is a file name.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true" /></permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetLastAccessTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastAccessTime(string path)" />
      <MemberSignature Language="C#" Value="public static DateTime GetLastAccessTime (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the file or directory for which to obtain access date and time information.</param>
        <summary>
          <para>Returns the date and time the specified file or directory was last accessed.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.DateTime" /> structure set to
   the date and time the specified file or directory was last accessed. This value is expressed in local time.</para>
          <para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue" />.</para>
        </returns>
        <remarks>
          <para>This method is equivalent to <see cref="M:System.IO.File.GetLastAccessTime(System.String)" /> (<paramref name="path" />).</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.IOException">The specified path was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetLastAccessTimeUtc">
      <MemberSignature Language="C#" Value="public static DateTime GetLastAccessTimeUtc (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLastWriteTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastWriteTime(string path)" />
      <MemberSignature Language="C#" Value="public static DateTime GetLastWriteTime (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the file or directory for which to obtain modification date and time information.</param>
        <summary>
          <para>Returns the date and time the specified file or directory was last written to.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.DateTime" /> structure set to
   the date and time the specified file or directory was last written to. This value is expressed in local time.</para>
          <para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue" />.</para>
        </returns>
        <remarks>
          <para> This method is equivalent to <see cref="M:System.IO.File.GetLastWriteTime(System.String)" />
(<paramref name="path" /> ).</para>
          <para>The <paramref name="path" /> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.IOException">The specified path was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetLastWriteTimeUtc">
      <MemberSignature Language="C#" Value="public static DateTime GetLastWriteTimeUtc (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLogicalDrives">
      <MemberSignature Language="C#" Value="public static string[] GetLogicalDrives ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetParent">
      <MemberSignature Language="C#" Value="public static System.IO.DirectoryInfo GetParent (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.DirectoryInfo</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Move">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void Move(string sourceDirName, string destDirName)" />
      <MemberSignature Language="C#" Value="public static void Move (string src, string dest);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src" Type="System.String" />
        <Parameter Name="dest" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="sourceDirName">A <see cref="T:System.String" /> containing the name of the file or directory to move.</param>
        <param name="destDirName">A <see cref="T:System.String" /> containing the new location for <paramref name="sourceDirName" />. This string cannot identify an existing file or directory.</param>
        <param name="src">To be added.</param>
        <param name="dest">To be added.</param>
        <summary>
          <para>Moves a file or a directory and its contents to a new location.</para>
        </summary>
        <remarks>
          <para>The <paramref name="destDirName" /> argument
   cannot specify a location on a different disk or volume than
<paramref name="sourceDirName" />. The <paramref name="sourceDirName" /> 
and <paramref name="destDirName" /> arguments cannot identify the same file
or directory.</para>
          <para>
            <block subset="none" type="note">This method throws
   a <see cref="T:System.IO.IOException" /> if, for example, you try
   to move "\mydir" to "\public", and "\public" already exists. You must specify
   "\public\mydir" as the <paramref name="destDirName" />.</block>
          </para>
          <para>The <paramref name="sourceDirName " />and
<paramref name="destDirName" /> arguments are permitted to specify 
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="sourceDirName " />or <paramref name="destDirName " />is a zero-length string, contains only white space, or contains implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="sourceDirName " />or <paramref name="destDirName " />is <see langword="null" />.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.IO.IOException">
          <para>An attempt was made to move a directory to a different volume,</para>
          <para>-or-</para>
          <para>
            <paramref name="destDirName" /> already exists.</para>
          <para>-or-</para>
          <para>
            <paramref name="sourceDirName" /> and <paramref name="destDirName" /> refer to the same file or directory.</para>
        </exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">
          <paramref name="sourceDirName " /> was not found.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length or absolute path information for <paramref name="sourceDirName" /> or <paramref name="destDirName" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read from <paramref name="sourceDirName," /><paramref name=" " />and write to <paramref name="sourceDirName " /> and <paramref name="destDirName" />. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SetAccessControl">
      <MemberSignature Language="C#" Value="public static void SetAccessControl (string path, System.Security.AccessControl.DirectorySecurity directorySecurity);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="directorySecurity" Type="System.Security.AccessControl.DirectorySecurity" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="directorySecurity">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="SetCreationTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void SetCreationTime(string path, valuetype System.DateTime creationTime)" />
      <MemberSignature Language="C#" Value="public static void SetCreationTime (string path, DateTime creation_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="creation_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the file or 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="creation_time">To be added.</param>
        <summary>
          <para>Sets the creation date and time for the specified file or directory.</para>
        </summary>
        <remarks>
          <para>The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
          <para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="creationTime " /> specifies a value outside the range of date/times permitted for this operation.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.FileNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SetCreationTimeUtc">
      <MemberSignature Language="C#" Value="public static void SetCreationTimeUtc (string path, DateTime creation_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="creation_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="creation_time">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetCurrentDirectory">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void SetCurrentDirectory(string path)" />
      <MemberSignature Language="C#" Value="public static void SetCurrentDirectory (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the path to which the current working directory is set.</param>
        <summary>
          <para>Sets the application's current working directory to the specified directory.</para>
        </summary>
        <remarks>
          <para> When the application terminates, the working directory is restored
      to its original location (the directory where the process was started).</para>
          <para>The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
          <para>On platforms that do not support this feature,
   this method has no effect.</para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.FileNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission to access unmanaged code.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SetLastAccessTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastAccessTime(string path, valuetype System.DateTime lastAccessTime)" />
      <MemberSignature Language="C#" Value="public static void SetLastAccessTime (string path, DateTime last_access_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="last_access_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of the file or 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 access date and time of <paramref name="path" />. This value is expressed in local time.</param>
        <param name="last_access_time">To be added.</param>
        <summary>
          <para>Sets the date and time the specified file or directory was last accessed.</para>
        </summary>
        <remarks>
          <para>The <paramref name="path" /> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
          <para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="lastAccessTime" /> specifies a value outside the range of date/times permitted for this operation.</exception>
        <exception cref="T:System.IO.FileNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SetLastAccessTimeUtc">
      <MemberSignature Language="C#" Value="public static void SetLastAccessTimeUtc (string path, DateTime last_access_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="last_access_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="last_access_time">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetLastWriteTime">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastWriteTime(string path, valuetype System.DateTime lastWriteTime)" />
      <MemberSignature Language="C#" Value="public static void SetLastWriteTime (string path, DateTime last_write_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="last_write_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> containing the name of 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="last_write_time">To be added.</param>
        <summary>
          <para>Sets the date and time a directory was last written to.</para>
        </summary>
        <remarks>
          <para> 
      Relative path information is interpreted as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true" />.</block></para>
          <para>On platforms that do not
      support this feature, this method has no effect. If this feature is
      supported, the range of dates that is valid for this operation
      is implementation-specific. </para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> is <see langword="null" />.</exception>
        <exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" /> or the absolute path information for <paramref name="path" /> exceeds the system-defined maximum length.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="lastWriteTime" /> specifies a value outside the range of date/times permitted for this operation.</exception>
        <exception cref="T:System.IO.FileNotFoundException">
          <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.UnauthorizedAccessException">The caller does not have the required permission.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="SetLastWriteTimeUtc">
      <MemberSignature Language="C#" Value="public static void SetLastWriteTimeUtc (string path, DateTime last_write_time);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="last_write_time" Type="System.DateTime" />
      </Parameters>
      <Docs>
        <param name="path">To be added.</param>
        <param name="last_write_time">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
</Type>
