MethodBuilder.AddDeclarativeSecurity(SecurityAction, PermissionSet) メソッド

定義

このメソッドに宣言型セキュリティを追加します。

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)

パラメーター

action
SecurityAction

実行するセキュリティ アクション (Demand、Assert など)。

pset
PermissionSet

アクションが適用されるアクセス許可のセット。

例外

actionが無効です (RequestMinimumRequestOptionalRequestRefuseは無効です)。

包含型は、 CreateType()を使用して作成されています。

-または-

アクセス許可セット pset には、 AddDeclarativeSecurity(SecurityAction, PermissionSet)によって以前に追加されたアクションが含まれています。

-または-

現在のメソッドの場合、 IsGenericMethod プロパティは trueされますが、 IsGenericMethodDefinition プロパティは false

psetnullです。

次のコード サンプルは、メソッドの呼び出し元に無制限のアクセス許可を要求する AddDeclarativeSecurity のコンテキストでの使用を示しています。

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

注釈

AddDeclarativeSecurity は、セキュリティ アクション ( DemandAssertDenyなど) とアクションが適用されるアクセス許可のセットを指定する呼び出しごとに、複数回呼び出すことができます。

Note

.NET Framework バージョン 1.0、1.1、および 2.0 では、AddDeclarativeSecurity メソッドを使用してメソッドに適用される宣言型セキュリティ属性は、古い XML メタデータ形式で格納されます。 宣言型セキュリティ属性の出力を参照してください。

適用対象