MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Metode

Definisi

Menambahkan keamanan deklaratif ke metode ini.

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)

Parameter

action
SecurityAction

Tindakan keamanan yang akan diambil (Permintaan, Pernyataan, dan sebagainya).

pset
PermissionSet

Kumpulan izin yang berlaku untuk tindakan.

Pengecualian

tidak action valid (RequestMinimum, RequestOptional, dan RequestRefuse tidak valid).

Jenis yang berisi telah dibuat menggunakan CreateType().

-atau-

Kumpulan pset izin berisi tindakan yang ditambahkan sebelumnya oleh AddDeclarativeSecurity(SecurityAction, PermissionSet).

-atau-

Untuk metode saat ini, IsGenericMethod propertinya adalah true, tetapi IsGenericMethodDefinition propertinya adalah false.

pset adalah null.

Contoh

Sampel kode di bawah ini mengilustrasikan penggunaan AddDeclarativeSecurity kontekstual untuk mengharuskan pemanggil metode memiliki izin yang tidak dibatasi.

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

Keterangan

AddDeclarativeSecurity dapat dipanggil beberapa kali, dengan setiap panggilan yang menentukan tindakan keamanan (seperti Demand, , Assertdan Deny) dan sekumpulan izin yang diterapkan tindakan.

Note

Dalam .NET Framework versi 1.0, 1.1, dan 2.0, atribut keamanan deklaratif yang diterapkan ke metode dengan menggunakan metode AddDeclarativeSecurity disimpan dalam format metadata XML lama. Lihat Memancarkan Atribut Keamanan Deklaratif.

Berlaku untuk