SecurityPermission 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 SecurityPermission 類別的新執行個體。
多載
SecurityPermission(PermissionState) |
依指定使用限制或不受限制的權限,初始化 SecurityPermission 類別的新執行個體。 |
SecurityPermission(SecurityPermissionFlag) |
使用旗標的指定初始設定狀態,初始化 SecurityPermission 類別的新執行個體。 |
SecurityPermission(PermissionState)
依指定使用限制或不受限制的權限,初始化 SecurityPermission 類別的新執行個體。
public:
SecurityPermission(System::Security::Permissions::PermissionState state);
public SecurityPermission (System.Security.Permissions.PermissionState state);
new System.Security.Permissions.SecurityPermission : System.Security.Permissions.PermissionState -> System.Security.Permissions.SecurityPermission
Public Sub New (state As PermissionState)
參數
- state
- PermissionState
其中一個 PermissionState 值。
例外狀況
state
參數不是有效的 PermissionState 值。
備註
建立完全受限 (None
) 或 Unrestricted
存取所有安全性許可權。
適用於
SecurityPermission(SecurityPermissionFlag)
使用旗標的指定初始設定狀態,初始化 SecurityPermission 類別的新執行個體。
public:
SecurityPermission(System::Security::Permissions::SecurityPermissionFlag flag);
public SecurityPermission (System.Security.Permissions.SecurityPermissionFlag flag);
new System.Security.Permissions.SecurityPermission : System.Security.Permissions.SecurityPermissionFlag -> System.Security.Permissions.SecurityPermission
Public Sub New (flag As SecurityPermissionFlag)
參數
權限的初始狀態,以 SecurityPermissionFlag 定義之任何權限位元的位元 OR 組合表示。
例外狀況
flag
參數不是有效的 SecurityPermissionFlag 值。
範例
下列程式代碼範例示範如何使用 SecurityPermission 建構函式來建立類別的 SecurityPermission 實例,以要求安全性許可權。 如需完整的程式碼範例,請參閱 建 SecurityPermissionAttribute(SecurityAction) 構函式。
static void DemandSecurityPermissions()
{
Console::WriteLine( "\nExecuting DemandSecurityPermissions.\n" );
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Assertion );
Console::WriteLine( "Demanding SecurityPermissionFlag::Assertion" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlAppDomain );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlAppDomain" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlDomainPolicy );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlDomainPolicy" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlEvidence );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlEvidence" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPolicy );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPolicy" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPrincipal );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPrincipal" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlThread );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlThread" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Execution );
Console::WriteLine( "Demanding SecurityPermissionFlag::Execution" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Execution succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Execution failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Infrastructure );
Console::WriteLine( "Demanding SecurityPermissionFlag::Infrastructure" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::RemotingConfiguration );
Console::WriteLine( "Demanding SecurityPermissionFlag::RemotingConfiguration" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SerializationFormatter );
Console::WriteLine( "Demanding SecurityPermissionFlag::SerializationFormatter" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SkipVerification );
Console::WriteLine( "Demanding SecurityPermissionFlag::SkipVerification" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::UnmanagedCode );
Console::WriteLine( "Demanding SecurityPermissionFlag::UnmanagedCode" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode failed: {0}", e->Message );
}
}
public static void DemandSecurityPermissions()
{
Console.WriteLine("\nExecuting DemandSecurityPermissions.\n");
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Assertion);
Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlEvidence);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlPolicy);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlPrincipal);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlThread);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Execution);
Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Infrastructure);
Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration);
Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.SerializationFormatter);
Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.SkipVerification);
Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message);
}
}
Public Shared Sub DemandSecurityPermissions()
Console.WriteLine(ControlChars.Lf & "Executing DemandSecurityPermissions." & ControlChars.Lf)
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Assertion)
Console.WriteLine("Demanding SecurityPermissionFlag.Assertion")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Assertion failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlAppDomain)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlAppDomain failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlEvidence)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlEvidence failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPolicy)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPolicy failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPrincipal)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPrincipal failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlThread)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlThread failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Execution)
Console.WriteLine("Demanding SecurityPermissionFlag.Execution")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Execution failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Infrastructure)
Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Infrastructure failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.RemotingConfiguration)
Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.SerializationFormatter)
Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.SerializationFormatter failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.SkipVerification)
Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.SkipVerification failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.UnmanagedCode)
Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.UnmanagedCode failed: " & e.Message))
End Try
End Sub