private protected IEnumerable <Ace> FilterWithFilter(Func <Ace, bool> filter, Action <Acl, Predicate <Ace> > run_on_acl) { List <Ace> list = new List <Ace>(); if (AclType.HasFlag(SecurityDescriptorAclType.Dacl)) { FilterWithFilter(list, SecurityDescriptor.Dacl, true, filter, run_on_acl); } if (AclType.HasFlag(SecurityDescriptorAclType.Sacl)) { FilterWithFilter(list, SecurityDescriptor.Sacl, false, filter, run_on_acl); } return(list); }
private IEnumerable <Ace> FilterWithFilter(Func <Ace, bool> filter) { List <Ace> removed = new List <Ace>(); if (AclType.HasFlag(RemoveAclType.Dacl)) { FilterWithFilter(removed, SecurityDescriptor.Dacl, true, filter); } if (AclType.HasFlag(RemoveAclType.Sacl)) { FilterWithFilter(removed, SecurityDescriptor.Sacl, false, filter); } return(removed); }