共用方式為


SecurityPermission 建構函式

定義

初始化 SecurityPermission 類別的新執行個體。

多載

SecurityPermission(PermissionState)

依指定使用限制或不受限制的權限,初始化 SecurityPermission 類別的新執行個體。

SecurityPermission(SecurityPermissionFlag)

使用旗標的指定初始設定狀態,初始化 SecurityPermission 類別的新執行個體。

SecurityPermission(PermissionState)

來源:
SecurityPermission.cs
來源:
SecurityPermission.cs
來源:
SecurityPermission.cs
來源:
SecurityPermission.cs

依指定使用限制或不受限制的權限,初始化 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.cs
來源:
SecurityPermission.cs
來源:
SecurityPermission.cs
來源:
SecurityPermission.cs

使用旗標的指定初始設定狀態,初始化 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)

參數

flag
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

適用於