public override bool IsSubsetOf(IPermission target)
{
if (target == null)
{
// do not use Cast - different permissions (and earlier Fx) return false :-/
return(true);
}
ResourcePermissionBase rpb = (target as ResourcePermissionBase);
if (rpb == null)
{
return(false);
}
if (rpb.IsUnrestricted())
{
return(true);
}
if (IsUnrestricted())
{
return(rpb.IsUnrestricted());
}
foreach (ResourcePermissionBaseEntry entry in _list)
{
if (!rpb.Exists(entry))
{
return(false);
}
}
return(true);
}