SecurityAction を指定して、 FileDialogPermissionAttribute クラスの新しいインスタンスを初期化します。
Public Sub New( _
ByVal action As SecurityAction _)
[C#]
public FileDialogPermissionAttribute(
SecurityActionaction);
[C++]
public: FileDialogPermissionAttribute(
SecurityActionaction);
[JScript]
public function FileDialogPermissionAttribute(
action : SecurityAction);
パラメータ
- action
SecurityAction 値の 1 つ。
使用例
' 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 名前空間