[mscorlib/getfolderpath] Special-case MacOS X.
[mono.git] / mcs / class / corlib / Documentation / en / System.Security.Permissions / FileIOPermission.xml
1 <Type Name="FileIOPermission" FullName="System.Security.Permissions.FileIOPermission" FullNameSP="System_Security_Permissions_FileIOPermission" Maintainer="ecma">
2   <TypeSignature Language="ILASM" Value=".class public sealed serializable FileIOPermission extends System.Security.CodeAccessPermission" />
3   <TypeSignature Language="C#" Value="public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IBuiltInPermission, System.Security.Permissions.IUnrestrictedPermission" />
4   <MemberOfLibrary>BCL</MemberOfLibrary>
5   <AssemblyInfo>
6     <AssemblyName>mscorlib</AssemblyName>
7     <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
8     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9     <AssemblyVersion>2.0.0.0</AssemblyVersion>
10     <AssemblyVersion>4.0.0.0</AssemblyVersion>
11   </AssemblyInfo>
12   <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
13   <Base>
14     <BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
15   </Base>
16   <Interfaces>
17     <Interface>
18       <InterfaceName>System.Security.Permissions.IBuiltInPermission</InterfaceName>
19     </Interface>
20     <Interface>
21       <InterfaceName>System.Security.Permissions.IUnrestrictedPermission</InterfaceName>
22     </Interface>
23   </Interfaces>
24   <Docs>
25     <summary>
26       <para> Secures access to files and directories.</para>
27     </summary>
28     <remarks>
29       <para>
30         <see cref="T:System.Security.Permissions.FileIOPermission" /> objects describe protected
31    operations on files and directories. Files and directories are specified using
32    absolute paths. Case-sensitivity of files and directories is platform
33    and file system dependent.</para>
34       <block subset="none" type="note">
35         <para> This permission distinguishes between the following types of file I/O
36       access provided by <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />:</para>
37         <list type="bullet">
38           <item>
39             <term>
40               <see langword="Read" />: Read 
41          access to the contents of the file or access to information about the file,
42          such as its length or last modification time.</term>
43           </item>
44           <item>
45             <term>
46               <see langword="Write" />: Write 
47          access to the contents of the file or access to change information about the
48          file, such as its name. Also allows for deletion and overwriting.</term>
49           </item>
50           <item>
51             <term>
52               <see langword="Append" /> : 
53          Ability to write to the end of a file only.</term>
54           </item>
55           <item>
56             <term>
57               <see langword="PathDiscovery" />: 
58          Ability to obtain path information about a file.</term>
59           </item>
60           <item>
61             <term>
62               <see langword="NoAccess" />: No 
63          access to the file or directory.</term>
64           </item>
65           <item>
66             <term>
67               <see langword="AllAccess" />: Full
68          access to the file or directory.</term>
69           </item>
70         </list>
71         <para> These access levels are independent, meaning that rights to one do not
72    imply rights to another. For example, <see langword="Write " />permission does not
73    imply permission to <see langword="Read" /> or <see langword="Append" />. <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />
74    
75    values can be combined using a bitwise OR operator.</para>
76         <para>For information on security considerations when accessing files, see <see cref="T:System.IO.FileStream" /> .</para>
77       </block>
78       <para>The XML encoding of a <see langword="FileIOPermission " /> instance is defined below
79    in EBNF format. The following conventions are used: </para>
80       <list type="bullet">
81         <item>
82           <term>
83             <para> All non-literals in the grammar below are shown in normal type.</para>
84           </term>
85         </item>
86         <item>
87           <term>
88             <para> All literals are in bold font. </para>
89           </term>
90         </item>
91       </list>
92       <para> The following meta-language symbols are used: </para>
93       <list type="bullet">
94         <item>
95           <term>
96          '*' represents a meta-language symbol suffixing an
97          expression that can appear zero or more times.</term>
98         </item>
99         <item>
100           <term>
101          '?' represents a meta-language symbol suffixing an
102          expression that can appear zero or one time.</term>
103         </item>
104         <item>
105           <term>
106          '+' represents a meta-language symbol suffixing an
107          expression that can appear one or more times.</term>
108         </item>
109         <item>
110           <term>
111          '(',')' is used to group literals, non-literals or a
112          mixture of literals and non-literals.</term>
113         </item>
114         <item>
115           <term>
116          '|' denotes an exclusive disjunction between two
117          expressions.</term>
118         </item>
119         <item>
120           <term>
121          '::= ' denotes a production rule where a left hand
122          non-literal is replaced by a right hand expression containing literals,
123          non-literals or both.</term>
124         </item>
125       </list>
126       <para>BuildVersion refers to the build version of the shipping CLI. This is
127    specified as a dotted build number such as '2412.0' . </para>
128       <para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089" /></para>
129       <para> FileName refers to the full path and file name of a file, or to a path
130    name, such as "<c>C:\Temp\test.exe</c>" or "<c>C:\</c>
131 ". </para>
132       <para>The XML encoding of a <see langword="FileIOPermission" /> instance is as
133 follows:</para>
134       <para>FileIOPermissionXML ::=
135    </para>
136       <para>
137         <c>
138           <see langword="&lt;IPermission" />
139           <see langword="class=&quot;" />
140         </c>
141       </para>
142       <para>
143         <c>
144           <see langword="System.Security.Permissions.FileIOPermission," />
145         </c>
146       </para>
147       <para>
148         <c>
149           <see langword="mscorlib, " />
150         </c>
151       </para>
152       <para>
153         <c>
154           <see langword="Version=1.0." />BuildVersion<see langword="," /></c>
155       </para>
156       <para>
157         <c>
158           <see langword="Culture=neutral," />
159         </c>
160       </para>
161       <para>
162         <c>
163           <see langword="PublicKeyToken=" />ECMAPubKeyToken<see langword="&quot;" /></c>
164       </para>
165       <para>
166         <c>
167           <see langword="version=&quot;1&quot; " />
168         </c>
169       </para>
170       <para>
171         <c>( </c>
172       </para>
173       <para>
174         <c>
175           <see langword="Unrestricted=&quot;true&quot;" />
176         </c>
177       </para>
178       <para>
179         <c>) </c>
180       </para>
181       <para>
182         <c>| </c>
183       </para>
184       <para>
185         <c>( </c>
186       </para>
187       <para>
188         <c>(<see langword="Read=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
189       </para>
190       <para>
191         <c>(<see langword="Write=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
192       </para>
193       <para>
194         <c>(<see langword="Append=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
195       </para>
196       <para>
197         <c>(<see langword="PathDiscovery=&quot;" />FileName (<see langword=";" /> FileName )*<see langword="&quot;" /> ) ? </c>
198       </para>
199       <para>
200         <c>) </c>
201       </para>
202       <para>
203         <c>
204           <see langword="/&gt;" />
205         </c>
206       </para>
207     </remarks>
208   </Docs>
209   <Members>
210     <Member MemberName=".ctor">
211       <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)" />
212       <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.PermissionState state);" />
213       <MemberType>Constructor</MemberType>
214       <ReturnValue />
215       <Parameters>
216         <Parameter Name="state" Type="System.Security.Permissions.PermissionState" />
217       </Parameters>
218       <Docs>
219         <param name="state">A <see cref="T:System.Security.Permissions.PermissionState" /> value.</param>
220         <summary>
221           <para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
222    with the specified <see cref="T:System.Security.Permissions.PermissionState" /> value.</para>
223         </summary>
224         <remarks>
225           <block subset="none" type="note">
226             <para>This constructor creates either fully restricted
227          (<see cref="F:System.Security.Permissions.PermissionState.None" />) or
228          <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" /> access to files and directories.</para>
229           </block>
230         </remarks>
231         <exception cref="T:System.ArgumentException">
232           <paramref name="state" /> is not a valid <see cref="T:System.Security.Permissions.PermissionState" /> value.</exception>
233       </Docs>
234       <Excluded>0</Excluded>
235       <AssemblyInfo>
236         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
237         <AssemblyVersion>2.0.0.0</AssemblyVersion>
238         <AssemblyVersion>4.0.0.0</AssemblyVersion>
239       </AssemblyInfo>
240     </Member>
241     <Member MemberName=".ctor">
242       <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path)" />
243       <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
244       <MemberType>Constructor</MemberType>
245       <ReturnValue />
246       <Parameters>
247         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
248         <Parameter Name="path" Type="System.String" />
249       </Parameters>
250       <Docs>
251         <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>
252         <param name="path">The absolute path of the file or directory.</param>
253         <summary>
254           <para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission" /> class with the specified access
255  to the specified file or directory.</para>
256         </summary>
257         <remarks>
258           <para>The set of characters that are invalid for use 
259  in file or directory names is platform specific.</para>
260         </remarks>
261         <exception cref="T:System.ArgumentException">
262           <para>
263             <paramref name="access" /> specifies values not defined in <see cref="T:System.Security.Permissions.FileIOPermissionAccess" />. </para>
264           <para>
265             <paramref name="path" /> contains one or more characters that are invalid for use in files or directory names. </para>
266           <para>
267             <paramref name="path" /> did not specify the absolute path to the file or directory. </para>
268         </exception>
269       </Docs>
270       <Excluded>0</Excluded>
271       <AssemblyInfo>
272         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
273         <AssemblyVersion>2.0.0.0</AssemblyVersion>
274         <AssemblyVersion>4.0.0.0</AssemblyVersion>
275       </AssemblyInfo>
276     </Member>
277     <Member MemberName=".ctor">
278       <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
279       <MemberType>Constructor</MemberType>
280       <Parameters>
281         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
282         <Parameter Name="pathList" Type="System.String[]" />
283       </Parameters>
284       <Docs>
285         <param name="access">To be added.</param>
286         <param name="pathList">To be added.</param>
287         <summary>To be added.</summary>
288         <remarks>To be added.</remarks>
289       </Docs>
290       <AssemblyInfo>
291         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
292         <AssemblyVersion>2.0.0.0</AssemblyVersion>
293         <AssemblyVersion>4.0.0.0</AssemblyVersion>
294       </AssemblyInfo>
295     </Member>
296     <Member MemberName=".ctor">
297       <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string path);" />
298       <MemberType>Constructor</MemberType>
299       <Parameters>
300         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
301         <Parameter Name="control" Type="System.Security.AccessControl.AccessControlActions" />
302         <Parameter Name="path" Type="System.String" />
303       </Parameters>
304       <Docs>
305         <param name="access">To be added.</param>
306         <param name="control">To be added.</param>
307         <param name="path">To be added.</param>
308         <summary>To be added.</summary>
309         <remarks>To be added.</remarks>
310         <since version=".NET 2.0" />
311       </Docs>
312       <AssemblyInfo>
313         <AssemblyVersion>2.0.0.0</AssemblyVersion>
314         <AssemblyVersion>4.0.0.0</AssemblyVersion>
315       </AssemblyInfo>
316     </Member>
317     <Member MemberName=".ctor">
318       <MemberSignature Language="C#" Value="public FileIOPermission (System.Security.Permissions.FileIOPermissionAccess access, System.Security.AccessControl.AccessControlActions control, string[] pathList);" />
319       <MemberType>Constructor</MemberType>
320       <Parameters>
321         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
322         <Parameter Name="control" Type="System.Security.AccessControl.AccessControlActions" />
323         <Parameter Name="pathList" Type="System.String[]" />
324       </Parameters>
325       <Docs>
326         <param name="access">To be added.</param>
327         <param name="control">To be added.</param>
328         <param name="pathList">To be added.</param>
329         <summary>To be added.</summary>
330         <remarks>To be added.</remarks>
331         <since version=".NET 2.0" />
332       </Docs>
333       <AssemblyInfo>
334         <AssemblyVersion>2.0.0.0</AssemblyVersion>
335         <AssemblyVersion>4.0.0.0</AssemblyVersion>
336       </AssemblyInfo>
337     </Member>
338     <Member MemberName="AddPathList">
339       <MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
340       <MemberType>Method</MemberType>
341       <ReturnValue>
342         <ReturnType>System.Void</ReturnType>
343       </ReturnValue>
344       <Parameters>
345         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
346         <Parameter Name="path" Type="System.String" />
347       </Parameters>
348       <Docs>
349         <param name="access">To be added.</param>
350         <param name="path">To be added.</param>
351         <summary>To be added.</summary>
352         <remarks>To be added.</remarks>
353       </Docs>
354       <AssemblyInfo>
355         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
356         <AssemblyVersion>2.0.0.0</AssemblyVersion>
357         <AssemblyVersion>4.0.0.0</AssemblyVersion>
358       </AssemblyInfo>
359     </Member>
360     <Member MemberName="AddPathList">
361       <MemberSignature Language="C#" Value="public void AddPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
362       <MemberType>Method</MemberType>
363       <ReturnValue>
364         <ReturnType>System.Void</ReturnType>
365       </ReturnValue>
366       <Parameters>
367         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
368         <Parameter Name="pathList" Type="System.String[]" />
369       </Parameters>
370       <Docs>
371         <param name="access">To be added.</param>
372         <param name="pathList">To be added.</param>
373         <summary>To be added.</summary>
374         <remarks>To be added.</remarks>
375       </Docs>
376       <AssemblyInfo>
377         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
378         <AssemblyVersion>2.0.0.0</AssemblyVersion>
379         <AssemblyVersion>4.0.0.0</AssemblyVersion>
380       </AssemblyInfo>
381     </Member>
382     <Member MemberName="AllFiles">
383       <MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllFiles { set; get; }" />
384       <MemberType>Property</MemberType>
385       <ReturnValue>
386         <ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
387       </ReturnValue>
388       <Docs>
389         <summary>To be added.</summary>
390         <value>To be added.</value>
391         <remarks>To be added.</remarks>
392       </Docs>
393       <AssemblyInfo>
394         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
395         <AssemblyVersion>2.0.0.0</AssemblyVersion>
396         <AssemblyVersion>4.0.0.0</AssemblyVersion>
397       </AssemblyInfo>
398     </Member>
399     <Member MemberName="AllLocalFiles">
400       <MemberSignature Language="C#" Value="public System.Security.Permissions.FileIOPermissionAccess AllLocalFiles { set; get; }" />
401       <MemberType>Property</MemberType>
402       <ReturnValue>
403         <ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
404       </ReturnValue>
405       <Docs>
406         <summary>To be added.</summary>
407         <value>To be added.</value>
408         <remarks>To be added.</remarks>
409       </Docs>
410       <AssemblyInfo>
411         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
412         <AssemblyVersion>2.0.0.0</AssemblyVersion>
413         <AssemblyVersion>4.0.0.0</AssemblyVersion>
414       </AssemblyInfo>
415     </Member>
416     <Member MemberName="Copy">
417       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()" />
418       <MemberSignature Language="C#" Value="public override System.Security.IPermission Copy ();" />
419       <MemberType>Method</MemberType>
420       <ReturnValue>
421         <ReturnType>System.Security.IPermission</ReturnType>
422       </ReturnValue>
423       <Parameters />
424       <Docs>
425         <summary>
426           <para> Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> object
427    containing the same values as the current instance.</para>
428         </summary>
429         <returns>
430           <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> containing the
431    same values as the current instance.</para>
432         </returns>
433         <remarks>
434           <block subset="none" type="note">
435             <para>The object returned by this method represents the same level of access
436          to files and directories as the current instance.</para>
437             <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy" /> and is implemented to
438       support the <see cref="T:System.Security.IPermission" /> interface.</para>
439           </block>
440         </remarks>
441       </Docs>
442       <Excluded>0</Excluded>
443       <AssemblyInfo>
444         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
445         <AssemblyVersion>2.0.0.0</AssemblyVersion>
446         <AssemblyVersion>4.0.0.0</AssemblyVersion>
447       </AssemblyInfo>
448     </Member>
449     <Member MemberName="Equals">
450       <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
451       <MemberType>Method</MemberType>
452       <ReturnValue>
453         <ReturnType>System.Boolean</ReturnType>
454       </ReturnValue>
455       <Parameters>
456         <Parameter Name="obj" Type="System.Object" />
457       </Parameters>
458       <Docs>
459         <param name="obj">To be added.</param>
460         <summary>To be added.</summary>
461         <returns>To be added.</returns>
462         <remarks>To be added.</remarks>
463         <since version=".NET 2.0" />
464       </Docs>
465       <AssemblyInfo>
466         <AssemblyVersion>2.0.0.0</AssemblyVersion>
467         <AssemblyVersion>4.0.0.0</AssemblyVersion>
468       </AssemblyInfo>
469       <Attributes>
470         <Attribute>
471           <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
472         </Attribute>
473       </Attributes>
474     </Member>
475     <Member MemberName="FromXml">
476       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)" />
477       <MemberSignature Language="C#" Value="public override void FromXml (System.Security.SecurityElement esd);" />
478       <MemberType>Method</MemberType>
479       <ReturnValue>
480         <ReturnType>System.Void</ReturnType>
481       </ReturnValue>
482       <Parameters>
483         <Parameter Name="esd" Type="System.Security.SecurityElement" />
484       </Parameters>
485       <Docs>
486         <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>
487         <summary>
488           <para>Reconstructs the state of a <see cref="T:System.Security.Permissions.FileIOPermission" /> object using the specified XML
489  encoding.</para>
490         </summary>
491         <remarks>
492           <para>The state of the current instance is changed to the
493  state encoded in <paramref name="esd" />.</para>
494           <block subset="none" type="note">
495             <para> For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
496  page.</para>
497             <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)" />.</para>
498           </block>
499         </remarks>
500         <exception cref="T:System.ArgumentNullException">
501           <paramref name="esd" /> is <see langword="null" />.</exception>
502         <exception cref="T:System.ArgumentException">
503           <para>
504             <paramref name="esd" /> does not contain the encoding for a <see cref="T:System.Security.Permissions.FileIOPermission" /> instance.</para>
505           <para>The version number of <paramref name="esd" /> is not valid.</para>
506         </exception>
507       </Docs>
508       <Excluded>0</Excluded>
509       <AssemblyInfo>
510         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
511         <AssemblyVersion>2.0.0.0</AssemblyVersion>
512         <AssemblyVersion>4.0.0.0</AssemblyVersion>
513       </AssemblyInfo>
514     </Member>
515     <Member MemberName="GetHashCode">
516       <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
517       <MemberType>Method</MemberType>
518       <ReturnValue>
519         <ReturnType>System.Int32</ReturnType>
520       </ReturnValue>
521       <Parameters />
522       <Docs>
523         <summary>To be added.</summary>
524         <returns>To be added.</returns>
525         <remarks>To be added.</remarks>
526         <since version=".NET 2.0" />
527       </Docs>
528       <AssemblyInfo>
529         <AssemblyVersion>2.0.0.0</AssemblyVersion>
530         <AssemblyVersion>4.0.0.0</AssemblyVersion>
531       </AssemblyInfo>
532       <Attributes>
533         <Attribute>
534           <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
535         </Attribute>
536       </Attributes>
537     </Member>
538     <Member MemberName="GetPathList">
539       <MemberSignature Language="C#" Value="public string[] GetPathList (System.Security.Permissions.FileIOPermissionAccess access);" />
540       <MemberType>Method</MemberType>
541       <ReturnValue>
542         <ReturnType>System.String[]</ReturnType>
543       </ReturnValue>
544       <Parameters>
545         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
546       </Parameters>
547       <Docs>
548         <param name="access">To be added.</param>
549         <summary>To be added.</summary>
550         <returns>To be added.</returns>
551         <remarks>To be added.</remarks>
552       </Docs>
553       <AssemblyInfo>
554         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
555         <AssemblyVersion>2.0.0.0</AssemblyVersion>
556         <AssemblyVersion>4.0.0.0</AssemblyVersion>
557       </AssemblyInfo>
558     </Member>
559     <Member MemberName="Intersect">
560       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)" />
561       <MemberSignature Language="C#" Value="public override System.Security.IPermission Intersect (System.Security.IPermission target);" />
562       <MemberType>Method</MemberType>
563       <ReturnValue>
564         <ReturnType>System.Security.IPermission</ReturnType>
565       </ReturnValue>
566       <Parameters>
567         <Parameter Name="target" Type="System.Security.IPermission" />
568       </Parameters>
569       <Docs>
570         <param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance to intersect with the current instance.</param>
571         <summary>
572           <para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> object that is the intersection of
573  the current instance and the specified object. </para>
574         </summary>
575         <returns>
576           <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that
577  represents the intersection of the current instance and <paramref name="target" />. If the intersection is empty or <paramref name="target" />
578  is <see langword="null" />, returns <see langword="null" />. If the current instance is unrestricted, returns a copy of <paramref name="target" />. If
579 <paramref name="target" /> is unrestricted, returns a copy of the current instance.</para>
580         </returns>
581         <remarks>
582           <block subset="none" type="note">
583             <para> The intersection of two permissions is a permission that secures the
584  resources and operations secured by both permissions. Specifically, it represents the minimum
585  permission such that any demand that passes both permissions will also pass
586  their intersection.</para>
587             <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)" /> and is implemented to
588  support the <see cref="T:System.Security.IPermission" />
589  interface.</para>
590           </block>
591         </remarks>
592         <exception cref="T:System.ArgumentException">
593           <paramref name="target" /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
594       </Docs>
595       <Excluded>0</Excluded>
596       <AssemblyInfo>
597         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
598         <AssemblyVersion>2.0.0.0</AssemblyVersion>
599         <AssemblyVersion>4.0.0.0</AssemblyVersion>
600       </AssemblyInfo>
601     </Member>
602     <Member MemberName="IsSubsetOf">
603       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)" />
604       <MemberSignature Language="C#" Value="public override bool IsSubsetOf (System.Security.IPermission target);" />
605       <MemberType>Method</MemberType>
606       <ReturnValue>
607         <ReturnType>System.Boolean</ReturnType>
608       </ReturnValue>
609       <Parameters>
610         <Parameter Name="target" Type="System.Security.IPermission" />
611       </Parameters>
612       <Docs>
613         <param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that is to be tested for the subset relationship.</param>
614         <summary>
615           <para>Determines whether the current instance is a subset of the specified
616  object.</para>
617         </summary>
618         <returns>
619           <para>
620             <see langword="true" /> if the
621  current instance is a subset of <paramref name="target" />
622  ; otherwise,<see langword=" false" />. If the current instance is unrestricted, and <paramref name="target" /> is
623  not, returns <see langword="false" />. If <paramref name="target" /> is
624  unrestricted, returns <see langword="true" />. If
625 <paramref name="target" /> is <see langword="null" /> and no files or directories are secured 
626  by the current instance, returns <see langword="true" />. If target is
627 <see langword="null" />, and the current instance secures one or more files or 
628  directories, returns <see langword="false" />.</para>
629         </returns>
630         <remarks>
631           <block subset="none" type="note">
632             <para>The current instance is a subset of <paramref name="target" /> if the current instance
633  specifies a set of accesses to resources that is wholly contained by
634  <paramref name="target" />. For example, a permission that represents read access to a file
635  is a subset of a permission that represents read and write access to the file. </para>
636             <para>If this method returns <see langword="true" /> , the current instance
637  describes a level of access to files and directories that is also described by
638 <paramref name="target" />.</para>
639             <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)" /> and is implemented to
640 support the <see cref="T:System.Security.IPermission" /> interface.</para>
641           </block>
642         </remarks>
643         <exception cref="T:System.ArgumentException">
644           <paramref name="target" /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
645       </Docs>
646       <Excluded>0</Excluded>
647       <AssemblyInfo>
648         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
649         <AssemblyVersion>2.0.0.0</AssemblyVersion>
650         <AssemblyVersion>4.0.0.0</AssemblyVersion>
651       </AssemblyInfo>
652     </Member>
653     <Member MemberName="IsUnrestricted">
654       <MemberSignature Language="C#" Value="public bool IsUnrestricted ();" />
655       <MemberType>Method</MemberType>
656       <ReturnValue>
657         <ReturnType>System.Boolean</ReturnType>
658       </ReturnValue>
659       <Parameters />
660       <Docs>
661         <summary>To be added.</summary>
662         <returns>To be added.</returns>
663         <remarks>To be added.</remarks>
664       </Docs>
665       <AssemblyInfo>
666         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
667         <AssemblyVersion>2.0.0.0</AssemblyVersion>
668         <AssemblyVersion>4.0.0.0</AssemblyVersion>
669       </AssemblyInfo>
670     </Member>
671     <Member MemberName="SetPathList">
672       <MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);" />
673       <MemberType>Method</MemberType>
674       <ReturnValue>
675         <ReturnType>System.Void</ReturnType>
676       </ReturnValue>
677       <Parameters>
678         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
679         <Parameter Name="path" Type="System.String" />
680       </Parameters>
681       <Docs>
682         <param name="access">To be added.</param>
683         <param name="path">To be added.</param>
684         <summary>To be added.</summary>
685         <remarks>To be added.</remarks>
686       </Docs>
687       <AssemblyInfo>
688         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
689         <AssemblyVersion>2.0.0.0</AssemblyVersion>
690         <AssemblyVersion>4.0.0.0</AssemblyVersion>
691       </AssemblyInfo>
692     </Member>
693     <Member MemberName="SetPathList">
694       <MemberSignature Language="C#" Value="public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);" />
695       <MemberType>Method</MemberType>
696       <ReturnValue>
697         <ReturnType>System.Void</ReturnType>
698       </ReturnValue>
699       <Parameters>
700         <Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess" />
701         <Parameter Name="pathList" Type="System.String[]" />
702       </Parameters>
703       <Docs>
704         <param name="access">To be added.</param>
705         <param name="pathList">To be added.</param>
706         <summary>To be added.</summary>
707         <remarks>To be added.</remarks>
708       </Docs>
709       <AssemblyInfo>
710         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
711         <AssemblyVersion>2.0.0.0</AssemblyVersion>
712         <AssemblyVersion>4.0.0.0</AssemblyVersion>
713       </AssemblyInfo>
714     </Member>
715     <Member MemberName="System.Security.Permissions.IBuiltInPermission.GetTokenIndex">
716       <MemberSignature Language="C#" Value="int IBuiltInPermission.GetTokenIndex ();" />
717       <MemberType>Method</MemberType>
718       <ReturnValue>
719         <ReturnType>System.Int32</ReturnType>
720       </ReturnValue>
721       <Parameters />
722       <Docs>
723         <summary>To be added.</summary>
724         <returns>To be added.</returns>
725         <remarks>To be added.</remarks>
726       </Docs>
727       <AssemblyInfo>
728         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
729         <AssemblyVersion>2.0.0.0</AssemblyVersion>
730         <AssemblyVersion>4.0.0.0</AssemblyVersion>
731       </AssemblyInfo>
732     </Member>
733     <Member MemberName="ToXml">
734       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()" />
735       <MemberSignature Language="C#" Value="public override System.Security.SecurityElement ToXml ();" />
736       <MemberType>Method</MemberType>
737       <ReturnValue>
738         <ReturnType>System.Security.SecurityElement</ReturnType>
739       </ReturnValue>
740       <Parameters />
741       <Docs>
742         <summary>
743           <para>Returns the XML encoding of the current instance.</para>
744         </summary>
745         <returns>
746           <para>A <see cref="T:System.Security.SecurityElement" /> containing the XML encoding of the state of the current instance.</para>
747         </returns>
748         <remarks>
749           <block subset="none" type="note">
750             <para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission" /> class
751  page.</para>
752             <para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml" /> .</para>
753           </block>
754         </remarks>
755       </Docs>
756       <Excluded>0</Excluded>
757       <AssemblyInfo>
758         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
759         <AssemblyVersion>2.0.0.0</AssemblyVersion>
760         <AssemblyVersion>4.0.0.0</AssemblyVersion>
761       </AssemblyInfo>
762     </Member>
763     <Member MemberName="Union">
764       <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)" />
765       <MemberSignature Language="C#" Value="public override System.Security.IPermission Union (System.Security.IPermission other);" />
766       <MemberType>Method</MemberType>
767       <ReturnValue>
768         <ReturnType>System.Security.IPermission</ReturnType>
769       </ReturnValue>
770       <Parameters>
771         <Parameter Name="other" Type="System.Security.IPermission" />
772       </Parameters>
773       <Docs>
774         <param name="other">A <see cref="T:System.Security.Permissions.FileIOPermission" /> instance to combine with the current instance.</param>
775         <summary>
776           <para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission" /> that is the union of the
777  current instance and the specified object.</para>
778         </summary>
779         <returns>
780           <para>A new <see cref="T:System.Security.Permissions.FileIOPermission" /> instance that represents the union
781  of the current instance and <paramref name="other" /> . If the current
782  instance or <paramref name="other " /> is unrestricted, returns a
783 <see cref="T:System.Security.Permissions.FileIOPermission" /> 
784 instance that is unrestricted. If <paramref name="other" /> is <see langword="null" />,
785 returns a copy of the current instance via the <see cref="M:System.Security.IPermission.Copy" /> method.
786 If the current instance and <paramref name="other" /> do not specify any file or
787 directory names, returns <see langword="null" />
788 .</para>
789         </returns>
790         <remarks>
791           <block subset="none" type="note">
792             <para>The result of a call to <see cref="M:System.Security.Permissions.FileIOPermission.Union(System.Security.IPermission)" /> is a permission
793  that represents all of
794  the access to files and directories represented
795  by the current instance as well as the access to files and
796  directories represented by <paramref name="other" />. Any demand that passes either the current
797  instance or <paramref name="other" /> passes their union.</para>
798             <para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)" /> and is implemented to
799  support the <see cref="T:System.Security.IPermission" />
800  interface.</para>
801           </block>
802         </remarks>
803         <exception cref="T:System.ArgumentException">
804           <paramref name="other " /> is not <see langword="null" /> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission" /> .</exception>
805       </Docs>
806       <Excluded>0</Excluded>
807       <AssemblyInfo>
808         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
809         <AssemblyVersion>2.0.0.0</AssemblyVersion>
810         <AssemblyVersion>4.0.0.0</AssemblyVersion>
811       </AssemblyInfo>
812     </Member>
813   </Members>
814   <TypeExcluded>0</TypeExcluded>
815   <Attributes>
816     <Attribute>
817       <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
818     </Attribute>
819   </Attributes>
820 </Type>