<Type Name="FileIOPermission" FullName="System.Security.Permissions.FileIOPermission" FullNameSP="System_Security_Permissions_FileIOPermission" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed serializable FileIOPermission extends System.Security.CodeAccessPermission" />
  <TypeSignature Language="C#" Value="public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IBuiltInPermission, System.Security.Permissions.IUnrestrictedPermission" />
  <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>1.0.5000.0</AssemblyVersion>
    <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.Security.CodeAccessPermission</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Security.Permissions.IBuiltInPermission</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.Security.Permissions.IUnrestrictedPermission</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>
      <para> Secures access to files and directories.</para>
    </summary>
    <remarks>
      <para>
        <see cref="T:System.Security.Permissions.FileIOPermission" /> objects describe protected
   operations on files and directories. Files and directories are specified using
   absolute paths. Case-sensitivity of files and directories is platform
   and file system dependent.</para>
      <block subset="none" type="note">
        <para> This permission distinguishes between the following types of file I/O
      access provided by <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />:</para>
        <list type="bullet">
          <item>
            <term>
              <see langword="Read" />: Read 
         access to the contents of the file or access to information about the file,
         such as its length or last modification time.</term>
          </item>
          <item>
            <term>
              <see langword="Write" />: Write 
         access to the contents of the file or access to change information about the
         file, such as its name. Also allows for deletion and overwriting.</term>
          </item>
          <item>
            <term>
              <see langword="Append" /> : 
         Ability to write to the end of a file only.</term>
          </item>
          <item>
            <term>
              <see langword="PathDiscovery" />: 
         Ability to obtain path information about a file.</term>
          </item>
          <item>
            <term>
              <see langword="NoAccess" />: No 
         access to the file or directory.</term>
          </item>
          <item>
            <term>
              <see langword="AllAccess" />: Full
         access to the file or directory.</term>
          </item>
        </list>
        <para> These access levels are independent, meaning that rights to one do not
   imply rights to another. For example, <see langword="Write " />permission does not
   imply permission to <see langword="Read" /> or <see langword="Append" />. <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />
   
   values can be combined using a bitwise OR operator.</para>
        <para>For information on security considerations when accessing files, see <see cref="T:System.IO.FileStream" /> .</para>
      </block>
      <para>The XML encoding of a <see langword="FileIOPermission " /> instance is defined below
   in EBNF format. The following conventions are used: </para>
      <list type="bullet">
        <item>
          <term>
            <para> All non-literals in the grammar below are shown in normal type.</para>
          </term>
        </item>
        <item>
          <term>
            <para> All literals are in bold font. </para>
          </term>
        </item>
      </list>
      <para> The following meta-language symbols are used: </para>
      <list type="bullet">
        <item>
          <term>
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
        </item>
        <item>
          <term>
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
        </item>
        <item>
          <term>
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
        </item>
        <item>
          <term>
         '(',')' is used to group literals, non-literals or a
         mixture of literals and non-literals.</term>
        </item>
        <item>
          <term>
         '|' denotes an exclusive disjunction between two
         expressions.</term>
        </item>
        <item>
          <term>
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
        </item>
      </list>
      <para>BuildVersion refers to the build version of the shipping CLI. This is
   specified as a dotted build number such as '2412.0' . </para>
      <para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089" /></para>
      <para> FileName refers to the full path and file name of a file, or to a path
   name, such as "<c>C:\Temp\test.exe</c>" or "<c>C:\</c>
". </para>
      <para>The XML encoding of a <see langword="FileIOPermission" /> instance is as
follows:</para>
      <para>FileIOPermissionXML ::=
   </para>
      <para>
        <c>
          <see langword="&lt;IPermission" />
          <see langword="class=&quot;" />
        </c>
      </para>
      <para>
        <c>
          <see langword="System.Security.Permissions.FileIOPermission," />
        </c>
      </para>
      <para>
        <c>
          <see langword="mscorlib, " />
        </c>
      </para>
      <para>
        <c>
          <see langword="Version=1.0." />BuildVersion<see langword="," /></c>
      </para>
      <para>
        <c>
          <see langword="Culture=neutral," />
        </c>
      </para>
      <para>
        <c>
          <see langword="PublicKeyToken=" />ECMAPubKeyToken<see langword="&quot;" /></c>
      </para>
      <para>
        <c>
          <see langword="version=&quot;1&quot; " />
        </c>
      </para>
      <para>
        <c>( </c>
      </para>
      <para>
        <c>
          <see langword="Unrestricted=&quot;true&quot;" />
        </c>
      </para>
      <para>
        <c>) </c>
      </para>
      <para>
        <c>| </c>
      </para>
      <para>
        <c>( </c>
      </para>
      <para>
        <c>(<see langword="Read=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
      </para>
      <para>
        <c>(<see langword="Write=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
      </para>
      <para>
        <c>(<see langword="Append=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
      </para>
      <para>
        <c>(<see langword="PathDiscovery=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
      </para>
      <para>
        <c>) </c>
      </para>
      <para>
        <c>
          <see langword="/&gt;" />
        </c>
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)" />
      <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.PermissionState state);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="state" Type="System.Security.Permissions.PermissionState" />
      </Parameters>
      <Docs>
        <param name="state">A <see cref="T:System.Security.Permissions.PermissionState" /> value.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
   with the specified <see cref="T:System.Security.Permissions.PermissionState" /> value.</para>
        </summary>
        <remarks>
          <block subset="none" type="note">
            <para>This constructor creates either fully restricted
         (<see cref="F:System.Security.Permissions.PermissionState.None" />) or
         <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" /> access to files and directories.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="state" /> is not a valid <see cref="T:System.Security.Permissions.PermissionState" /> value.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path)" />
      <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="access">One or more values defined in <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />. Specify multiple values using the bitwise OR operator.</param>
        <param name="path">The absolute path of the file or directory.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access
 to the specified file or directory.</para>
        </summary>
        <remarks>
          <para>The set of characters that are invalid for use 
 in file or directory names is platform specific.</para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="access" /> specifies values not defined in <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />. </para>
          <para>
            <paramref name="path" /> contains one or more characters that are invalid for use in files or directory names. </para>
          <para>
            <paramref name="path" /> did not specify the absolute path to the file or directory. </para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="pathList" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="pathList">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string path);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="control" Type="System.Security.AccessControl.AccessControlActions" />
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="control">To be added.</param>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string[] pathList);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="control" Type="System.Security.AccessControl.AccessControlActions" />
        <Parameter Name="pathList" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="control">To be added.</param>
        <param name="pathList">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AddPathList">
      <MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AddPathList">
      <MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="pathList" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="pathList">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AllFiles">
      <MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllFiles { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AllLocalFiles">
      <MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllLocalFiles { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()" />
      <MemberSignature Language="C#" Value="public override System.Security.IPermission Copy ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.IPermission</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> object
   containing the same values as the current instance.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> containing the
   same values as the current instance.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The object returned by this method represents the same level of access
         to files and directories as the current instance.</para>
            <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy" /> and is implemented to
      support the <see cref="T:System.Security.IPermission" /> interface.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">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>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="FromXml">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)" />
      <MemberSignature Language="C#" Value="public override void FromXml (System.Security.SecurityElement esd);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="esd" Type="System.Security.SecurityElement" />
      </Parameters>
      <Docs>
        <param name="esd">A <see cref="T:System.Security.SecurityElement" /> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.Permissions.FileIOPermission" /> object.</param>
        <summary>
          <para>Reconstructs the state of a <see cref="T:System.Security.Permissions.FileIOPermission" /> object using the specified XML
 encoding.</para>
        </summary>
        <remarks>
          <para>The state of the current instance is changed to the
 state encoded in <paramref name="esd" />.</para>
          <block subset="none" type="note">
            <para> For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
 page.</para>
            <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)" />.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="esd" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <para>
            <paramref name="esd" /> does not contain the encoding for a <see cref="T:System.Security.Permissions.FileIOPermission" /> instance.</para>
          <para>The version number of <paramref name="esd" /> is not valid.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="GetPathList">
      <MemberSignature Language="C#" Value="public string[] GetPathList (System.Security.Permissions.FileIOPermissionAccess access);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Intersect">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)" />
      <MemberSignature Language="C#" Value="public override System.Security.IPermission Intersect (System.Security.IPermission target);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.IPermission</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="target" Type="System.Security.IPermission" />
      </Parameters>
      <Docs>
        <param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance to intersect with the current instance.</param>
        <summary>
          <para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> object that is the intersection of
 the current instance and the specified object. </para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that
 represents the intersection of the current instance and <paramref name="target" />. If the intersection is empty or <paramref name="target" />
 is <see langword="null" />, returns <see langword="null" />. If the current instance is unrestricted, returns a copy of <paramref name="target" />. If
<paramref name="target" /> is unrestricted, returns a copy of the current instance.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para> The intersection of two permissions is a permission that secures the
 resources and operations secured by both permissions. Specifically, it represents the minimum
 permission such that any demand that passes both permissions will also pass
 their intersection.</para>
            <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)" /> and is implemented to
 support the <see cref="T:System.Security.IPermission" />
 interface.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="target" /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="IsSubsetOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)" />
      <MemberSignature Language="C#" Value="public override bool IsSubsetOf (System.Security.IPermission target);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="target" Type="System.Security.IPermission" />
      </Parameters>
      <Docs>
        <param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that is to be tested for the subset relationship.</param>
        <summary>
          <para>Determines whether the current instance is a subset of the specified
 object.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if the
 current instance is a subset of <paramref name="target" />
 ; otherwise,<see langword=" false" />. If the current instance is unrestricted, and <paramref name="target" /> is
 not, returns <see langword="false" />. If <paramref name="target" /> is
 unrestricted, returns <see langword="true" />. If
<paramref name="target" /> is <see langword="null" /> and no files or directories are secured 
 by the current instance, returns <see langword="true" />. If target is
<see langword="null" />, and the current instance secures one or more files or 
 directories, returns <see langword="false" />.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The current instance is a subset of <paramref name="target" /> if the current instance
 specifies a set of accesses to resources that is wholly contained by
 <paramref name="target" />. For example, a permission that represents read access to a file
 is a subset of a permission that represents read and write access to the file. </para>
            <para>If this method returns <see langword="true" /> , the current instance
 describes a level of access to files and directories that is also described by
<paramref name="target" />.</para>
            <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)" /> and is implemented to
support the <see cref="T:System.Security.IPermission" /> interface.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="target" /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="IsUnrestricted">
      <MemberSignature Language="C#" Value="public bool IsUnrestricted ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SetPathList">
      <MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="path">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SetPathList">
      <MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
        <Parameter Name="pathList" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="access">To be added.</param>
        <param name="pathList">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="System.Security.Permissions.IBuiltInPermission.GetTokenIndex">
      <MemberSignature Language="C#" Value="int IBuiltInPermission.GetTokenIndex ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ToXml">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()" />
      <MemberSignature Language="C#" Value="public override System.Security.SecurityElement ToXml ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.SecurityElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Returns the XML encoding of the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Security.SecurityElement" /> containing the XML encoding of the state of the current instance.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
 page.</para>
            <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml" /> .</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Union">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)" />
      <MemberSignature Language="C#" Value="public override System.Security.IPermission Union (System.Security.IPermission other);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Security.IPermission</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="other" Type="System.Security.IPermission" />
      </Parameters>
      <Docs>
        <param name="other">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance to combine with the current instance.</param>
        <summary>
          <para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> that is the union of the
 current instance and the specified object.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that represents the union
 of the current instance and <paramref name="other" /> . If the current
 instance or <paramref name="other " /> is unrestricted, returns a
<see cref="T:System.Security.Permissions.FileIOPermission" /> 
instance that is unrestricted. If <paramref name="other" /> is <see langword="null" />,
returns a copy of the current instance via the <see cref="M:System.Security.IPermission.Copy" /> method.
If the current instance and <paramref name="other" /> do not specify any file or
directory names, returns <see langword="null" />
.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The result of a call to <see cref="M:System.Security.Permissions.FileIOPermission.Union(System.Security.IPermission)" /> is a permission
 that represents all of
 the access to files and directories represented
 by the current instance as well as the access to files and
 directories represented by <paramref name="other" />. Any demand that passes either the current
 instance or <paramref name="other" /> passes their union.</para>
            <para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)" /> and is implemented to
 support the <see cref="T:System.Security.IPermission" />
 interface.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="other " /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
</Type>
