FirstMatchCodeGroup(IMembershipCondition, PolicyStatement) 构造函数
定义
初始化 FirstMatchCodeGroup 类的新实例。Initializes a new instance of the FirstMatchCodeGroup class.
public:
FirstMatchCodeGroup(System::Security::Policy::IMembershipCondition ^ membershipCondition, System::Security::Policy::PolicyStatement ^ policy);
public FirstMatchCodeGroup (System.Security.Policy.IMembershipCondition membershipCondition, System.Security.Policy.PolicyStatement policy);
new System.Security.Policy.FirstMatchCodeGroup : System.Security.Policy.IMembershipCondition * System.Security.Policy.PolicyStatement -> System.Security.Policy.FirstMatchCodeGroup
Public Sub New (membershipCondition As IMembershipCondition, policy As PolicyStatement)
参数
- membershipCondition
- IMembershipCondition
成员条件,它测试证据以确定此代码组是否应用策略。A membership condition that tests evidence to determine whether this code group applies policy.
- policy
- PolicyStatement
形式为权限集和特性的代码组的策略声明,这些权限集和特性将被授予匹配成员条件的代码。The policy statement for the code group in the form of a permission set and attributes to grant code that matches the membership condition.
例外
membershipCondition 参数的类型无效。The type of the membershipCondition parameter is not valid.
- 或 --or-
policy 参数的类型无效。The type of the policy parameter is not valid.
示例
下面的代码演示如何使用 FirstMatchCodeGroup 构造函数。The following code shows the use of the FirstMatchCodeGroup constructor. 此代码示例是为类提供的更大示例的一部分 FirstMatchCodeGroup 。This code example is part of a larger example provided for FirstMatchCodeGroup class.
FileIOPermission^ rootFilePermissions =
gcnew FileIOPermission( PermissionState::None );
rootFilePermissions->AllLocalFiles = FileIOPermissionAccess::Read;
rootFilePermissions->SetPathList( FileIOPermissionAccess::Read, L"C:\\" );
// Add a permission to a named permission set.
NamedPermissionSet^ namedPermissions =
gcnew NamedPermissionSet( L"RootPermissions" );
namedPermissions->AddPermission( rootFilePermissions );
// Create a PolicyStatement with exclusive rights to the policy.
PolicyStatement^ policy = gcnew PolicyStatement(
namedPermissions,PolicyStatementAttribute::Exclusive );
// Create a FirstMatchCodeGroup with a membership condition that
// matches all code, and an exclusive policy.
FirstMatchCodeGroup^ codeGroup = gcnew FirstMatchCodeGroup(
gcnew AllMembershipCondition,policy );
FileIOPermission rootFilePermissions =
new FileIOPermission(PermissionState.None);
rootFilePermissions.AllLocalFiles = FileIOPermissionAccess.Read;
rootFilePermissions.SetPathList(FileIOPermissionAccess.Read,"C:\\");
// Add a permission to a named permission set.
NamedPermissionSet namedPermissions =
new NamedPermissionSet("RootPermissions");
namedPermissions.AddPermission(rootFilePermissions);
// Create a PolicyStatement with exclusive rights to the policy.
PolicyStatement policy = new PolicyStatement(
namedPermissions,PolicyStatementAttribute.Exclusive);
// Create a FirstMatchCodeGroup with a membership condition that
// matches all code, and an exclusive policy.
FirstMatchCodeGroup codeGroup =
new FirstMatchCodeGroup(
new AllMembershipCondition(),
policy);
Dim rootFilePermissions As New FileIOPermission(PermissionState.None)
rootFilePermissions.AllLocalFiles = FileIOPermissionAccess.Read
rootFilePermissions.SetPathList(FileIOPermissionAccess.Read, "C:\\")
' Add a permission to a named permission set.
Dim namedPermissions As New NamedPermissionSet("RootPermissions")
namedPermissions.AddPermission(rootFilePermissions)
' Create a PolicyStatement with exclusive rights to the policy.
Dim policy As New PolicyStatement( _
namedPermissions, _
PolicyStatementAttribute.Exclusive)
' Create a FirstMatchCodeGroup with a membership condition that
' matches all code, and an exclusive policy.
Dim codeGroup As New FirstMatchCodeGroup( _
New AllMembershipCondition, _
policy)
注解
此构造函数将创建一个基本代码组,并应从自定义代码组的构造函数中调用。This constructor creates a basic code group and should be called from the constructors of custom code groups. 可以使用方法添加子代码组 AddChild 。Child code groups can be added using the AddChild method.