FileDialogPermission Class
Controls the ability to access files or folders through a File dialog box. This class cannot be inherited.
Assembly: mscorlib (in mscorlib.dll)
This permission is typically used to provide limited access to user-specified files when FileIOPermission is not granted.
The following code example demonstrates the behavior of the FileDialogPermission class methods.
The example is intended to show how the methods perform if you execute the methods from your code. In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.
For an example that shows the use of the FileDialogPermission class to demand permission for a specific FileDialogPermissionAccess enumeration value, see the FileDialogPermission(FileDialogPermissionAccess) constructor.
Imports System Imports System.Security Imports System.Security.Permissions <assembly: CLSCompliant(True)> Public Class FileDialogPermissionDemo Private fileDialogPerm1 As New FileDialogPermission(FileDialogPermissionAccess.Open) Private fileDialogPerm2 As New FileDialogPermission(FileDialogPermissionAccess.OpenSave) Private fileDialogPerm3 As New FileDialogPermission(PermissionState.None) ' IsSubsetOf determines whether the current permission is a subset of the ' specified permission. Private Function IsSubsetOfDemo() As Boolean Dim returnValue As Boolean = True If fileDialogPerm1.IsSubsetOf(fileDialogPerm2) Then Console.WriteLine(fileDialogPerm1.Access.ToString() + " is a subset of " _ + fileDialogPerm2.Access.ToString()) Else Console.WriteLine(fileDialogPerm1.Access.ToString + " is not a subset of " + _ fileDialogPerm2.Access.ToString()) End If Return returnValue End Function 'IsSubsetOfDemo ' Union creates a new permission that is the union of the current permission and the ' specified permission. Private Function UnionDemo() As Boolean Dim returnValue As Boolean = True fileDialogPerm3 = CType(fileDialogPerm1.Union(fileDialogPerm2), FileDialogPermission) If fileDialogPerm3 Is Nothing Then Console.WriteLine("The union of " + fileDialogPerm1.Access.ToString() + _ " and " + fileDialogPerm2.Access.ToString() + " is null.") Else Console.WriteLine("The union of " + fileDialogPerm1.Access.ToString() + _ " and " + fileDialogPerm2.Access.ToString() + " = " + _ CType(fileDialogPerm3, FileDialogPermission).Access.ToString()) End If Return returnValue End Function 'UnionDemo ' Intersect creates and returns a new permission that is the intersection of the current ' permission and the permission specified. Private Function IntersectDemo() As Boolean Dim returnValue As Boolean = True fileDialogPerm3 = CType(fileDialogPerm1.Intersect(fileDialogPerm2), FileDialogPermission) If Not (fileDialogPerm3 Is Nothing) Then Console.WriteLine("The intersection of " + fileDialogPerm1.Access.ToString() + " and " _ + fileDialogPerm2.Access.ToString() + " = " + CType(fileDialogPerm3, _ FileDialogPermission).Access.ToString()) Else Console.WriteLine("The intersection of " + fileDialogPerm1.Access.ToString() + " and " + _ fileDialogPerm2.Access + " is null.") End If Return returnValue End Function 'IntersectDemo ' Copy creates and returns an identical copy of the current permission. Private Function CopyDemo() As Boolean Dim returnValue As Boolean = True fileDialogPerm2 = CType(fileDialogPerm1.Copy(), FileDialogPermission) Console.WriteLine("Result of copy = " + fileDialogPerm2.ToString()) Return returnValue End Function 'CopyDemo ' ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a ' permission with the specified state from the XML encoding. Private Function ToFromXmlDemo() As Boolean Dim returnValue As Boolean = True fileDialogPerm2 = New FileDialogPermission(PermissionState.None) fileDialogPerm2.FromXml(fileDialogPerm1.ToXml()) Console.WriteLine("Result of ToFromXml = " + fileDialogPerm2.ToString()) Return returnValue End Function 'ToFromXmlDemo ' Invoke all demos. Public Function RunDemo() As Boolean Dim returnCode As Boolean = True Dim tempReturnCode As Boolean ' Call the IsSubsetOf demo. If IsSubsetOfDemo() Then Console.Out.WriteLine("IsSubsetOf demo completed successfully.") tempReturnCode = True Else Console.Out.WriteLine("IsSubsetOf demo failed.") tempReturnCode = False End If returnCode = tempReturnCode And returnCode ' Call the Union demo. If UnionDemo() Then Console.Out.WriteLine("Union demo completed successfully.") tempReturnCode = True Else Console.Out.WriteLine("Union demo failed.") tempReturnCode = False End If returnCode = tempReturnCode And returnCode ' Call the Intersect demo. If IntersectDemo() Then Console.Out.WriteLine("Intersect demo completed successfully.") tempReturnCode = True Else Console.Out.WriteLine("Intersect demo failed.") tempReturnCode = False End If returnCode = tempReturnCode And returnCode ' Call the Copy demo. If CopyDemo() Then Console.Out.WriteLine("Copy demo completed successfully.") tempReturnCode = True Else Console.Out.WriteLine("Copy demo failed.") tempReturnCode = False End If returnCode = tempReturnCode And returnCode ' Call the ToFromXml demo. If ToFromXmlDemo() Then Console.Out.WriteLine("ToFromXml demo completed successfully.") tempReturnCode = True Else Console.Out.WriteLine("ToFromXml demo failed.") tempReturnCode = False End If returnCode = tempReturnCode And returnCode Return returnCode End Function ' Test harness. Public Shared Sub Main(ByVal args() As String) Try Dim democase As New FileDialogPermissionDemo() Dim returnCode As Boolean = democase.RunDemo() If returnCode Then Console.Out.WriteLine("FileDialogPermission demo completed successfully.") Console.Out.WriteLine("Press the Enter key to exit.") Dim consoleInput As String = Console.ReadLine() System.Environment.ExitCode = 100 Else Console.Out.WriteLine("FileDialogPermission demo failed.") Console.Out.WriteLine("Press the Enter key to exit.") Dim consoleInput As String = Console.ReadLine() System.Environment.ExitCode = 101 End If Catch e As Exception Console.Out.WriteLine("FileDialogPermission failed.") Console.WriteLine(e.ToString()) Console.Out.WriteLine("Press the Enter key to exit.") Dim consoleInput As String = Console.ReadLine() System.Environment.ExitCode = 101 End Try End Sub 'Main End Class 'FileDialogPermissionDemo
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.