MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Methode

Definitie

Voegt declaratieve beveiliging toe aan deze methode.

public:
 void AddDeclarativeSecurity(System::Security::Permissions::SecurityAction action, System::Security::PermissionSet ^ pset);
public void AddDeclarativeSecurity(System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
member this.AddDeclarativeSecurity : System.Security.Permissions.SecurityAction * System.Security.PermissionSet -> unit
Public Sub AddDeclarativeSecurity (action As SecurityAction, pset As PermissionSet)

Parameters

action
SecurityAction

De beveiligingsactie die moet worden ondernomen (vraag, assert, enzovoort).

pset
PermissionSet

De set machtigingen waarop de actie van toepassing is.

Uitzonderingen

De action naam is ongeldig (RequestMinimumRequestOptionalen RequestRefuse is ongeldig).

Het type bevat is gemaakt met behulp van CreateType().

– of –

De machtigingenset pset bevat een actie die eerder is toegevoegd door AddDeclarativeSecurity(SecurityAction, PermissionSet).

– of –

Voor de huidige methode is de IsGenericMethod eigenschap , maar de true eigenschap is IsGenericMethodDefinition.false

pset is null.

Voorbeelden

Het onderstaande codevoorbeeld illustreert het contextuele gebruik van het vereisen dat AddDeclarativeSecurity de aanroeper van een methode onbeperkte machtigingen heeft.

// myModBuilder is an instance of ModuleBuilder.

TypeBuilder myTypeBuilder = myModBuilder.DefineType("MyType",
                    TypeAttributes.Public);

MethodBuilder myMethod1 = myTypeBuilder.DefineMethod("MyMethod",
                    MethodAttributes.Public,
                    typeof(int),
                    new Type[]
                    {typeof(int), typeof(int)});	

PermissionSet myMethodPermissions = new PermissionSet(
            PermissionState.Unrestricted);

myMethod1.AddDeclarativeSecurity(SecurityAction.Demand,
                 myMethodPermissions);
' myModBuilder is an instance of ModuleBuilder.
' Note that for the use of PermissionSet and SecurityAction,
' the namespaces System.Security and System.Security.Permissions
' should be included.
Dim myTypeBuilder As TypeBuilder = myModBuilder.DefineType("MyType", _
                        TypeAttributes.Public)

Dim myMethod1 As MethodBuilder = myTypeBuilder.DefineMethod("MyMethod", _
                       MethodAttributes.Public, _
                       GetType(Integer), _
                       New Type() {GetType(Integer), GetType(Integer)})

Dim myMethodPermissions As New PermissionSet(PermissionState.Unrestricted)

myMethod1.AddDeclarativeSecurity(SecurityAction.Demand, myMethodPermissions)

Opmerkingen

AddDeclarativeSecurity kan meerdere keren worden aangeroepen, waarbij elke aanroep een beveiligingsactie opgeeft (zoals Demand, Asserten Deny) en een set machtigingen waarop de actie van toepassing is.

Note

In de .NET Framework-versies 1.0, 1.1 en 2.0 worden de declaratieve beveiligingskenmerken die zijn toegepast op een methode met behulp van de methode AddDeclarativeSecurity opgeslagen in de oude XML-metagegevensindeling. Zie Declaratieve beveiligingskenmerken verzenden.

Van toepassing op