コード例 #1
0
 private void ActivatePolicy(ItemPolicyConnector.PolicyData policyData)
 {
     policyData.Validator.RequirementsChanged -= new EventHandler(this.OnPolicyRequirementsChanged);
     policyData.Validator = (RequirementValidator)null;
     policyData.Policy.Activate(this._manager.Context);
     if (this._policyAdded == null)
     {
         return;
     }
     this._policyAdded((object)this, new PolicyAddedEventArgs(policyData.Policy));
 }
コード例 #2
0
 private void AttemptActivatePolicy(ItemPolicy policy)
 {
     if (this._policies.ContainsKey(policy.GetType()))
     {
         return;
     }
     ItemPolicyConnector.PolicyData policyData = new ItemPolicyConnector.PolicyData();
     policyData.Validator             = new RequirementValidator(this._manager, policy.GetType());
     policyData.Policy                = policy;
     this._policies[policy.GetType()] = policyData;
     if (policyData.Validator.MeetsRequirements)
     {
         this.ActivatePolicy(policyData);
     }
     else
     {
         policyData.Validator.RequirementsChanged += new EventHandler(this.OnPolicyRequirementsChanged);
     }
 }