/// <summary>Resolves matching code groups.</summary> /// <returns>A <see cref="T:System.Security.Policy.CodeGroup" />.</returns> /// <param name="evidence">The evidence for the assembly. </param> /// <exception cref="T:System.ArgumentNullException">The <paramref name="evidence" /> parameter is null. </exception> /// <PermissionSet> /// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" /> /// </PermissionSet> public override CodeGroup ResolveMatchingCodeGroups(Evidence evidence) { if (evidence == null) { throw new ArgumentNullException("evidence"); } if (!base.MembershipCondition.Check(evidence)) { return(null); } CodeGroup codeGroup = this.Copy(false); if (base.Children.Count > 0) { foreach (object obj in base.Children) { CodeGroup codeGroup2 = (CodeGroup)obj; CodeGroup codeGroup3 = codeGroup2.ResolveMatchingCodeGroups(evidence); if (codeGroup3 != null) { codeGroup.AddChild(codeGroup3); } } } return(codeGroup); }
public CodeGroup ResolveMatchingCodeGroups(Evidence evidence) { if (evidence == null) { throw new ArgumentNullException("evidence"); } CodeGroup cg = root_code_group.ResolveMatchingCodeGroups(evidence); return((cg != null) ? cg : null); }
/// <summary>Resolves matching code groups.</summary> /// <returns>A <see cref="T:System.Security.Policy.CodeGroup" /> that is the root of the tree of matching code groups.</returns> /// <param name="evidence">The evidence for the assembly. </param> /// <exception cref="T:System.ArgumentNullException">The <paramref name="evidence" /> parameter is null. </exception> public override CodeGroup ResolveMatchingCodeGroups(Evidence evidence) { if (evidence == null) { throw new ArgumentNullException("evidence"); } if (!base.MembershipCondition.Check(evidence)) { return(null); } FileCodeGroup fileCodeGroup = new FileCodeGroup(base.MembershipCondition, this.m_access); foreach (object obj in base.Children) { CodeGroup codeGroup = (CodeGroup)obj; CodeGroup codeGroup2 = codeGroup.ResolveMatchingCodeGroups(evidence); if (codeGroup2 != null) { fileCodeGroup.AddChild(codeGroup2); } } return(fileCodeGroup); }