MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.