MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.