MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Méthode

Définition

Ajoute une sécurité déclarative à cette méthode.

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)

Paramètres

action
SecurityAction

Action de sécurité à entreprendre (Demande, Assertion, etc.).

pset
PermissionSet

Ensemble d’autorisations à laquelle l’action s’applique.

Exceptions

Il action n’est pas valide (RequestMinimumet RequestOptionalRequestRefuse n’est pas valide).

Le type conteneur a été créé à l’aide CreateType()de .

- ou -

Le jeu pset d’autorisations contient une action qui a été ajoutée précédemment par AddDeclarativeSecurity(SecurityAction, PermissionSet).

- ou -

Pour la méthode actuelle, la IsGenericMethod propriété est true, mais la IsGenericMethodDefinition propriété est false.

pset a la valeur null.

Exemples

L’exemple de code ci-dessous illustre l’utilisation contextuelle de AddDeclarativeSecurity l’appelant d’une méthode pour disposer d’autorisations illimitées.

// 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)

Remarques

AddDeclarativeSecurity peut être appelé plusieurs fois, avec chaque appel spécifiant une action de sécurité (par Demandexemple, , Assertet Deny) et un ensemble d’autorisations auxquelles l’action s’applique.

Note

Dans .NET Framework versions 1.0, 1.1 et 2.0, les attributs de sécurité déclaratifs appliqués à une méthode à l’aide de la méthode AddDeclarativeSecurity sont stockés dans l’ancien format de métadonnées XML. Voir Émission d’attributs de sécurité déclaratifs.

S’applique à