次の方法で共有


FileDialogPermissionAttribute コンストラクタ

SecurityAction を指定して、 FileDialogPermissionAttribute クラスの新しいインスタンスを初期化します。

Public Sub New( _
   ByVal action As SecurityAction _)
[C#]
public FileDialogPermissionAttribute(
   SecurityActionaction);
[C++]
public: FileDialogPermissionAttribute(
   SecurityActionaction);
[JScript]
public function FileDialogPermissionAttribute(
   action : SecurityAction);

パラメータ

使用例

 
' This sample demonstrates the use of the FileDialogPermissionAttribute.
Imports System
Imports System.Reflection
Imports System.Security.Permissions
Imports System.Security
Imports System.IO
Imports Microsoft.VisualBasic



Class [MyClass]

    Public Shared Sub FileDialogPermissionAttributeDemo()
        Try
            PermitOnlyMethod()
        Catch e As Exception
            Console.WriteLine(e.Message.ToString())
        End Try
        Try
            DenyMethod()
        Catch e As Exception
            Console.WriteLine(e.Message.ToString())
        End Try
        Try
            DenyAllMethod()
        Catch e As Exception
            Console.WriteLine(e.Message.ToString())
        End Try
    End Sub 'FileDialogPermissionAttributeDemo


    ' This method demonstrates PermitOnly with the Open property set to true.
    <FileDialogPermissionAttribute(SecurityAction.PermitOnly, Open:=True)> _
    Public Shared Sub PermitOnlyMethod()
        Console.WriteLine("Executing PermitOnlyMethod.")
        Console.WriteLine("PermitOnly the Open permission.")
        PermitOnlyTest()
    End Sub 'PermitOnlyMethod

    Public Shared Sub PermitOnlyTest()
        Console.WriteLine("Executing PermitOnlyTest.")
        Try
            Dim ps As New PermissionSet(PermissionState.None)
            ps.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Open))
            Console.WriteLine("Demanding permission to open a file.")
            ps.Demand()
            Console.WriteLine("Demand succeeded.")
            ps.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Save))
            Console.WriteLine("Demanding permission to save a file.")
            ' This demand should cause an exception.
            ps.Demand()
            ' The TestFailed method is called if an exception is not thrown.
        Catch e As Exception
            Console.WriteLine(("An exception was thrown because of a save demand: " & e.Message))
        End Try
    End Sub 'PermitOnlyTest


    ' Set the Save property for a Deny action.
    <FileDialogPermissionAttribute(SecurityAction.Deny, Save:=True)> _
    Public Shared Sub DenyMethod()

        Console.WriteLine("Executing DenyMethod.")
        Console.WriteLine("Denying the Save permission.")
        DenyTest()
    End Sub 'DenyMethod

    Public Shared Sub DenyTest()
        Console.WriteLine("Executing DenyTest.")
        Try
            Dim ps As New PermissionSet(PermissionState.None)
            ps.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Open))
            Console.WriteLine("Demanding permission to open a file.")
            ps.Demand()
            Console.WriteLine("Demand succeeded.")
            ps.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Save))
            Console.WriteLine("Demanding permission to save a file.")
            ' This demand should cause an exception.
            ps.Demand()
            ' The TestFailed method is called if an exception is not thrown.
            TestFailed()
        Catch e As Exception
            Console.WriteLine(("An exception was thrown because of an open demand: " & e.Message))
        End Try
    End Sub 'DenyTest


    ' This method demonstrates the use of the FileDialogPermissionAttribute to deny all permissions.
    <FileDialogPermissionAttribute(SecurityAction.Deny, Unrestricted:=True)> _
    Public Shared Sub DenyAllMethod()
        Console.WriteLine("Executing DenyAllMethod.")
        Console.WriteLine("Denied all FileDialogPermissions ")

        DenyAllTestMethod()
    End Sub 'DenyAllMethod

    ' This method tests to assure permissions have been denied.
    Public Shared Sub DenyAllTestMethod()
        Console.WriteLine("Executing DenyAllTestMethod.")
        Try
            Dim ps As New PermissionSet(PermissionState.None)
            ps.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Open))
            Console.WriteLine("Demanding permission to open a file.")
            ' This demand should cause an exception.
            ps.Demand()
            ' The TestFailed method is called if the expected exception is not thrown.
            TestFailed()

        Catch e As Exception

            Console.WriteLine(("An exception was thrown because of an open demand: " + e.Message))
        End Try
    End Sub 'DenyAllTestMethod

    Public Shared Sub TestFailed()
        Console.WriteLine("Executing TestFailed.")
        Console.WriteLine("Throwing an exception.")
        Throw New Exception()
    End Sub 'TestFailed

    Overloads Shared Sub Main(ByVal args() As String)
        FileDialogPermissionAttributeDemo()
    End Sub 'Main
End Class '[MyClass] 

[C#] 
// This sample demonstrates the use of the FileDialogPermissionAttribute.
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Security;
using System.IO;

    class MyClass
    {
        public static void FileDialogPermissionAttributeDemo()
        {  
            try
            {
                PermitOnlyMethod();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message.ToString());
            }
            try
            {
                DenyMethod();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message.ToString());
            }
            try
            {
                DenyAllMethod();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message.ToString());
            }

        }

        // This method demonstrates PermitOnly with the Open property set to true.
        [FileDialogPermissionAttribute(SecurityAction.PermitOnly, Open = true)]
        public static void PermitOnlyMethod()
        {
            Console.WriteLine("Executing PermitOnlyMethod.");
            Console.WriteLine("PermitOnly the Open permission.");
            PermitOnlyTest();

        }
    
        public static void PermitOnlyTest()
        {
            Console.WriteLine("Executing PermitOnlyTest.");
            try
            {
                PermissionSet ps = new PermissionSet(PermissionState.None);
                ps.AddPermission(
                    new FileDialogPermission(FileDialogPermissionAccess.Open));
                Console.WriteLine("Demanding permission to open a file.");
                ps.Demand();
                Console.WriteLine("Demand succeeded.");
                ps.AddPermission(
                    new FileDialogPermission(FileDialogPermissionAccess.Save));
                Console.WriteLine("Demanding permission to save a file.");
                // This demand should cause an exception.
                ps.Demand();
                // The TestFailed method is called if an exception is not thrown.
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception was thrown because of a save demand: " + e.Message);
            }
        }

        // Set the Save property for a Deny action.
        [FileDialogPermissionAttribute(SecurityAction.Deny, Save = true)]

        public static void DenyMethod()
        {
            Console.WriteLine("Executing DenyMethod.");
            Console.WriteLine("Denying the Save permission.");
            DenyTest();
        }

        public static void DenyTest()
        {
            Console.WriteLine("Executing DenyTest.");
            try
            {
                PermissionSet ps = new PermissionSet(PermissionState.None);
                ps.AddPermission(
                    new FileDialogPermission(FileDialogPermissionAccess.Open));
                Console.WriteLine("Demanding permission to open a file.");
                ps.Demand();
                Console.WriteLine("Demand succeeded.");
                ps.AddPermission(
                    new FileDialogPermission(FileDialogPermissionAccess.Save));
                Console.WriteLine("Demanding permission to save a file.");
                // This demand should cause an exception.
                ps.Demand();
                // The TestFailed method is called if an exception is not thrown.
                TestFailed();
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception was thrown because of an open demand: " + e.Message);
            }
        }

        // This method demonstrates the use of the FileDialogPermissionAttribute to deny all permissions.
        [FileDialogPermissionAttribute(SecurityAction.Deny, Unrestricted = true)]
        public static void DenyAllMethod()
        {
            Console.WriteLine("Executing DenyAllMethod.");
            Console.WriteLine("Denied all FileDialogPermissions");

            DenyAllTestMethod();
        }
        // This method tests to assure permissions have been denied.
        public static void DenyAllTestMethod()
        {
            Console.WriteLine("Executing DenyAllTestMethod.");
            try
            {
                PermissionSet ps = new PermissionSet(PermissionState.None);
                ps.AddPermission(
                new FileDialogPermission(FileDialogPermissionAccess.Open));
                Console.WriteLine("Demanding permission to open a file.");
                // This demand should cause an exception.
                ps.Demand();
                // The TestFailed method is called if the expected exception is not thrown.
                TestFailed();
            }

            catch (Exception e)

            {
                Console.WriteLine("An exception was thrown because of an open demand: " + e.Message);
            }
        }
        public static void TestFailed()
        {
            Console.WriteLine("Executing TestFailed.");
            Console.WriteLine("Throwing an exception.");
            throw new Exception();
        }

        static void Main(string[] args)
        {
            FileDialogPermissionAttributeDemo();
        }

    }

[C++] 
// This sample demonstrates the use of the FileDialogPermissionAttribute.

#using <mscorlib.dll>

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Runtime::InteropServices;
using namespace System::Security;
using namespace System::IO;

void PermitOnlyTest() {
    Console::WriteLine(S"Executing PermitOnlyTest.");
    try {
        PermissionSet* ps = new PermissionSet(PermissionState::None);
        ps->AddPermission(new FileDialogPermission(FileDialogPermissionAccess::Open));
        Console::WriteLine(S"Demanding permission to open a file.");
        ps->Demand();
        Console::WriteLine(S"Demand succeeded.");
        ps->AddPermission(new FileDialogPermission(FileDialogPermissionAccess::Save));
        Console::WriteLine(S"Demanding permission to save a file.");
        // This demand should cause an exception.
        ps->Demand();
        // The TestFailed method is called if an exception is not thrown.
    } catch (Exception* e) {
        Console::WriteLine(S"An exception was thrown because of a save demand: {0}", e->Message);
    }
}

// This method demonstrates PermitOnly with the Open property set to true.
[FileDialogPermissionAttribute(SecurityAction::PermitOnly, Open = true)]

void PermitOnlyMethod() {
    Console::WriteLine(S"Executing PermitOnlyMethod.");
    Console::WriteLine(S"PermitOnly the Open permission.");
    PermitOnlyTest();
}

void TestFailed() {
    Console::WriteLine(S"Executing TestFailed.");
    Console::WriteLine(S"Throwing an exception.");
    throw new Exception();
}


void DenyTest() {
    Console::WriteLine(S"Executing DenyTest.");
    try {
        PermissionSet* ps = new PermissionSet(PermissionState::None);
        ps->AddPermission(new FileDialogPermission(FileDialogPermissionAccess::Open));
        Console::WriteLine(S"Demanding permission to open a file.");
        ps->Demand();
        Console::WriteLine(S"Demand succeeded.");
        ps->AddPermission(new FileDialogPermission(FileDialogPermissionAccess::Save));
        Console::WriteLine(S"Demanding permission to save a file.");
        // This demand should cause an exception.
        ps->Demand();
        // The TestFailed method is called if an exception is not thrown.
        TestFailed();
    } catch (Exception* e) {
        Console::WriteLine(S"An exception was thrown because of an open demand: {0}", e->Message);
    }
}

// Set the Save property for a Deny action.
[FileDialogPermissionAttribute(SecurityAction::Deny, Save = true)]

void DenyMethod() {
    Console::WriteLine(S"Executing DenyMethod.");
    Console::WriteLine(S"Denying the Save permission.");
    DenyTest();
}

// This method tests to assure permissions have been denied.
void DenyAllTestMethod() {
    Console::WriteLine(S"Executing DenyAllTestMethod.");
    try {
        PermissionSet* ps = new PermissionSet(PermissionState::None);
        ps->AddPermission(new FileDialogPermission(FileDialogPermissionAccess::Open));
        Console::WriteLine(S"Demanding permission to open a file.");
        // This demand should cause an exception.
        ps->Demand();
        // The TestFailed method is called if the expected exception is not thrown.
        TestFailed();
    } catch (Exception* e) {
        Console::WriteLine(S"An exception was thrown because of an open demand: {0}", e->Message);
    }
}

// This method demonstrates the use of the FileDialogPermissionAttribute to deny all permissions.
[FileDialogPermissionAttribute(SecurityAction::Deny, Unrestricted = true)]

void DenyAllMethod() {
    Console::WriteLine(S"Executing DenyAllMethod.");
    Console::WriteLine(S"Denied all FileDialogPermissions");

    DenyAllTestMethod();
}

void FileDialogPermissionAttributeDemo() {  
    try {
        PermitOnlyMethod();
    } catch (Exception* e) {
        Console::WriteLine(e->Message);
    }
    try {
        DenyMethod();
    } catch (Exception* e) {
        Console::WriteLine(e->Message);
    }
    try {
        DenyAllMethod();
    } catch (Exception* e) {
        Console::WriteLine(e->Message);
    }
}

int main() {
    FileDialogPermissionAttributeDemo();
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

FileDialogPermissionAttribute クラス | FileDialogPermissionAttribute メンバ | System.Security.Permissions 名前空間