MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje zabezpieczenia deklaratywne do tej metody.
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)
Parametry
- action
- SecurityAction
Akcja zabezpieczeń, która ma zostać podjęta (żądanie, potwierdzenie itd.).
- pset
- PermissionSet
Zestaw uprawnień, do których ma zastosowanie akcja.
Wyjątki
Element action jest nieprawidłowy (RequestMinimum, RequestOptional, i RequestRefuse są nieprawidłowe).
Typ zawierający został utworzony przy użyciu polecenia CreateType().
-lub-
Zestaw pset uprawnień zawiera akcję, która została dodana wcześniej przez AddDeclarativeSecurity(SecurityAction, PermissionSet)program .
-lub-
Dla bieżącej metody IsGenericMethod właściwość to true, ale IsGenericMethodDefinition właściwość to false.
pset to null.
Przykłady
Poniższy przykład kodu ilustruje kontekstowe użycie AddDeclarativeSecurity metody , aby wymagać od obiektu wywołującego metody, aby mieć nieograniczone uprawnienia.
// 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)
Uwagi
AddDeclarativeSecurity Może być wywoływany kilka razy, przy każdym wywołaniu określającym akcję zabezpieczeń (taką jak Demand, Asserti Deny) i zestaw uprawnień, do których ma zastosowanie akcja.
Uwaga
W .NET Framework w wersjach 1.0, 1.1 i 2.0 atrybuty zabezpieczeń deklaratywne stosowane do metody przy użyciu AddDeclarativeSecurity metody są przechowywane w starym formacie metadanych XML. Zobacz Emitowanie atrybutów zabezpieczeń deklaratywnych.