﻿<?xml version="1.0" encoding="utf-8"?><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" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed FileIOPermission extends System.Security.CodeAccessPermission implements class System.Security.Permissions.IBuiltInPermission, class 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><AssemblyVersion>4.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><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This permission distinguishes between the following four types of file IO access provided by <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />: </para><list type="bullet"><item><para>Read: Read access to the contents of the file or access to information about the file, such as its length or last modification time.</para></item><item><para>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.</para></item><item><para>Append: Ability to write to the end of a file only. No ability to read.</para></item><item><para>PathDiscovery: Access to the information in the path itself. This helps protect sensitive information in the path, such as user names, as well as information about the directory structure that is revealed in the path. This value does not grant access to files or folders represented by the path.</para></item></list><block subset="none" type="note"><para>Giving <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" /> access to an assembly is similar to granting it full trust. If an application should not write to the file system, it should not have <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" /> access.</para></block><para>All these permissions are independent, meaning that rights to one do not imply rights to another. For example, Write permission does not imply permission to Read or Append. If more than one permission is desired, they can be combined using a bitwise OR as shown in the code example that follows. File permission is defined in terms of canonical absolute paths; calls should always be made with canonical file paths.</para><para><see cref="T:System.Security.Permissions.FileIOPermission" /> describes protected operations on files and folders. The <see cref="T:System.IO.File" /> class helps provide secure access to files and folders. The security access check is performed when the handle to the file is created. By doing the check at creation time, the performance impact of the security check is minimized. Opening a file happens once, while reading and writing can happen multiple times. Once the file is opened, no further checks are done. If the object is passed to an untrusted caller, it can be misused. For example, file handles should not be stored in public global statics where code with less permission can access them.</para><para><see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> specifies actions that can be performed on the file or folder. In addition, these actions can be combined using a bitwise OR to form complex instances.</para><para>Access to a folder implies access to all the files it contains, as well as access to all the files and folders in its subfolders. For example, Read access to C:\folder1\ implies Read access to C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt, and so on.</para><block subset="none" type="note"><para>In versions of the .NET Framework before the net_v40_long, you could use the <see cref="M:System.Security.CodeAccessPermission.Deny" /> method to prevent inadvertent access to system resources by trusted code. <see cref="M:System.Security.CodeAccessPermission.Deny" /> is now obsolete, and access to resources is now determined solely by the granted permission set for an assembly. To limit access to files, you must run partially trusted code in a sandbox and assign it permissions only to resources that the code is allowed to access. For information about running an application in a sandbox, see <format type="text/html"><a href="d1ad722b-5b49-4040-bff3-431b94bb8095">How To: Run Partially Trusted Code in a Sandbox</a></format>.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Controls the ability to access files and folders. This class cannot be inherited.</para></summary></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="state" Type="System.Security.Permissions.PermissionState" /></Parameters><Docs><exception cref="T:System.ArgumentException"><paramref name="state" /> is not a valid <see cref="T:System.Security.Permissions.PermissionState" /> value.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates either fully restricted (None) or Unrestricted access to files and directories.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with fully restricted or unrestricted permission as specified.</para></summary><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.PermissionState" /> enumeration values. </param></Docs><Excluded>0</Excluded></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="path" Type="System.String" /></Parameters><Docs><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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor allows only one of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values to be specified for the specified file or directory. Use the <see cref="M:System.Security.Permissions.FileIOPermission.AddPathList(System.Security.Permissions.FileIOPermissionAccess,System.String)" /> method to define complex permissions.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access to the designated file or directory.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> enumeration values. </param><param name="path"><attribution license="cc4" from="Microsoft" modified="false" />The absolute path of the file or directory. </param></Docs><Excluded>0</Excluded></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, string[] pathList) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="pathList" Type="System.String[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor allows only one <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> value to be specified for the specified files and directories. Use the <see cref="M:System.Security.Permissions.FileIOPermission.AddPathList(System.Security.Permissions.FileIOPermissionAccess,System.String)" /> method to define complex permissions.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access to the designated files and directories.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> enumeration values. </param><param name="pathList"><attribution license="cc4" from="Microsoft" modified="false" />An array containing the absolute paths of the files and directories. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string path);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, valuetype System.Security.AccessControl.AccessControlActions control, string path) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><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><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor allows only one <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> value to be specified for the specified file or directories. Use the <see cref="M:System.Security.Permissions.FileIOPermission.AddPathList(System.Security.Permissions.FileIOPermissionAccess,System.String)" /> method to define complex permissions.</para><para>The <paramref name="control" /> parameter specifies whether the access control list (ACL) for the file or directory specified by <paramref name="path" /> can be changed, viewed, or cannot be accessed.</para><block subset="none" type="note"><para>An access control list (ACL) describes individuals or groups who have, or do not have, rights to specific actions on the given file and its properties.  The ability to change or view an ACL is an important permission and should be granted with caution.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access to the designated file or directory and the specified access rights to file control information.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> enumeration values.</param><param name="control"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.AccessControl.AccessControlActions" />  enumeration values.</param><param name="path"><attribution license="cc4" from="Microsoft" modified="false" />The absolute path of the file or directory.</param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string[] pathList);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, valuetype System.Security.AccessControl.AccessControlActions control, string[] pathList) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><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><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor allows only one <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> value to be specified for the specified files and directories. Use the <see cref="M:System.Security.Permissions.FileIOPermission.AddPathList(System.Security.Permissions.FileIOPermissionAccess,System.String)" /> method to define complex permissions.</para><para>The <paramref name="control" /> parameter specifies whether the access control list (ACL) for the file or directory specified by <paramref name="path" /> can be changed, viewed, or cannot be accessed.</para><block subset="none" type="note"><para>An access control list (ACL) describes individuals or groups who have, or do not have, rights to specific actions on the given file and its properties.  The ability to change or view an ACL is an important permission and should be granted with caution.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access to the designated files and directories and the specified access rights to file control information.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> enumeration values. </param><param name="control"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.AccessControl.AccessControlActions" />  enumeration values.</param><param name="pathList"><attribution license="cc4" from="Microsoft" modified="false" />An array containing the absolute paths of the files and directories.</param></Docs></Member><Member MemberName="AddPathList"><MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddPathList(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="path" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use this method to modify file and directory access by adding to the state of the current permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds access for the specified file or directory to the existing state of the permission.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values. </param><param name="path"><attribution license="cc4" from="Microsoft" modified="false" />The absolute path of a file or directory. </param></Docs></Member><Member MemberName="AddPathList"><MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddPathList(valuetype System.Security.Permissions.FileIOPermissionAccess access, string[] pathList) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="pathList" Type="System.String[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use this method to modify file and directory access by adding to the state of the current permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds access for the specified files and directories to the existing state of the permission.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values. </param><param name="pathList"><attribution license="cc4" from="Microsoft" modified="false" />An array containing the absolute paths of the files and directories. </param></Docs></Member><Member MemberName="AllFiles"><MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllFiles { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Security.Permissions.FileIOPermissionAccess AllFiles" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property gets or sets the permitted access to all files on the local computer and network drives.</para><para>An individual <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> value can be checked for using a bitwise AND operation.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the permitted access to all files.</para></summary></Docs></Member><Member MemberName="AllLocalFiles"><MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllLocalFiles { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Security.Permissions.FileIOPermissionAccess AllLocalFiles" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Local files are files contained on the local computer. Any files not accessed through a network drive are local files.</para><para>An individual <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> value can be checked for using a bitwise AND operation.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the permitted access to all local files.</para></summary></Docs></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 ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Copy() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the permission represents the same access to resources as the original permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns an identical copy of the current permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the current permission.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="Equals"><MemberSignature Language="C#" Value="public override bool Equals (object obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information, see <see cref="M:System.Object.Equals(System.Object)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the specified <see cref="T:System.Security.Permissions.FileIOPermission" /> object is equal to the current <see cref="T:System.Security.Permissions.FileIOPermission" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the specified <see cref="T:System.Security.Permissions.FileIOPermission" /> is equal to the current <see cref="T:System.Security.Permissions.FileIOPermission" /> object; otherwise, false.</para></returns><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Security.Permissions.FileIOPermission" /> object to compare with the current <see cref="T:System.Security.Permissions.FileIOPermission" />. </param></Docs></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void FromXml(class System.Security.SecurityElement esd) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="esd" Type="System.Security.SecurityElement" /></Parameters><Docs><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><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reconstructs a permission with a specified state from an XML encoding.</para></summary><param name="esd"><attribution license="cc4" from="Microsoft" modified="false" />The XML encoding used to reconstruct the permission. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="GetHashCode"><MemberSignature Language="C#" Value="public override int GetHashCode ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The hash code for two instances of the same permission might be different, hence a hash code should not be used to compare two <see cref="T:System.Security.Permissions.FileIOPermission" /> objects.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a hash code for the <see cref="T:System.Security.Permissions.FileIOPermission" /> object that is suitable for use in hashing algorithms and data structures such as a hash table.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A hash code for the current <see cref="T:System.Security.Permissions.FileIOPermission" /> object.</para></returns></Docs></Member><Member MemberName="GetPathList"><MemberSignature Language="C#" Value="public string[] GetPathList (System.Security.Permissions.FileIOPermissionAccess access);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] GetPathList(valuetype System.Security.Permissions.FileIOPermissionAccess access) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use this method to get the state of the current permission. To get the state of both Read and Write access, two calls to this method are required.</para><block subset="none" type="note"><para>The <paramref name="access" /> parameter is limited to the values of <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />, which represent single types of file access. Those values are <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" />, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" />. The values acceptable to <paramref name="access" /> do not include <see cref="F:System.Security.Permissions.FileIOPermissionAccess.NoAccess" /> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.AllAccess" />, which do not represent single types of file access.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets all files and directories with the specified <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array containing the paths of the files and directories to which access specified by the <paramref name="access" /> parameter is granted.</para></returns><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values that represents a single type of file access. </param></Docs></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Intersect(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The intersection of two permissions is a permission that describes the set of operations they both describe in common. Only a demand that passes both original permissions will pass the intersection.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns a permission that is the intersection of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the intersection of the current permission and the specified permission. This new permission is null if the intersection is empty.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission to intersect with the current permission. It must be the same type as the current permission. </param></Docs><Excluded>0</Excluded></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool IsSubsetOf(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current permission is a subset of the specified permission if the current permission specifies a set of operations that is contained by the specified permission. For example, a permission that represents read access to C:\example.txt is a subset of a permission that represents read access to C:\. If this method returns true, the current permission represents no more access to the protected resource than does the specified permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the current permission is a subset of the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is a subset of the specified permission; otherwise, false.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission that is to be tested for the subset relationship. This permission must be the same type as the current permission. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsUnrestricted"><MemberSignature Language="C#" Value="public bool IsUnrestricted ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsUnrestricted() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An unrestricted permission represents access to all resources protected by the permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the current permission is unrestricted.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is unrestricted; otherwise, false.</para></returns></Docs></Member><Member MemberName="SetPathList"><MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetPathList(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="path" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The previous state of the current permission for the specified access type is overwritten. The following code sets the access for C:\temp to <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" />.</para><para>code reference: System.Security.Permissions.FileIOPermission#12</para><para>This access will not be overwritten by the following code because the access types are not the same.</para><para>code reference: System.Security.Permissions.FileIOPermission#13</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the specified access to the specified file or directory, replacing the existing state of the permission.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values. </param><param name="path"><attribution license="cc4" from="Microsoft" modified="false" />The absolute path of the file or directory. </param></Docs></Member><Member MemberName="SetPathList"><MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetPathList(valuetype System.Security.Permissions.FileIOPermissionAccess access, string[] pathList) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" /><Parameter Name="pathList" Type="System.String[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The previous state of the current permission for the specified access type is overwritten. The following code sets the access for C:\temp to <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" />.</para><para>This access will not be overwritten by the following code because the access types are not the same.</para><para>code reference: System.Security.Permissions.FileIOPermission#15</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the specified access to the specified files and directories, replacing the current state for the specified access with the new set of paths.</para></summary><param name="access"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of the <see cref="T:System.Security.Permissions.FileIOPermissionAccess" /> values. </param><param name="pathList"><attribution license="cc4" from="Microsoft" modified="false" />An array containing the absolute paths of the files and directories. </param></Docs></Member><Member MemberName="System.Security.Permissions.IBuiltInPermission.GetTokenIndex"><MemberSignature Language="C#" Value="int IBuiltInPermission.GetTokenIndex ();" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int32 System.Security.Permissions.IBuiltInPermission.GetTokenIndex() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></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 ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.SecurityElement ToXml() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.SecurityElement</ReturnType></ReturnValue><Parameters /><Docs><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><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates an XML encoding of the permission and its current state.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An XML encoding of the permission, including any state information.</para></returns></Docs><Excluded>0</Excluded></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission Union(class System.Security.IPermission other) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="other" Type="System.Security.IPermission" /></Parameters><Docs><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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The result of a call to <see cref="M:System.Security.Permissions.FileIOPermission.Union(System.Security.IPermission)" /> is a permission that represents all the operations represented by both the current permission and the specified permission. Any demand that passes either permission passes their union.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a permission that is the union of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the union of the current permission and the specified permission.</para></returns><param name="other"><attribution license="cc4" from="Microsoft" modified="false" />A permission to combine with the current permission. It must be the same type as the current permission. </param></Docs><Excluded>0</Excluded></Member></Members><TypeExcluded>0</TypeExcluded></Type>