MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.