public override bool IsSubsetOf(IPermission target)
{
if (target == null)
{
return(state == PermissionState.None &&
readList == null && writeList == null &&
createList == null);
}
else if (!(target is RegistryPermission))
{
throw new ArgumentException(_("Arg_PermissionMismatch"));
}
else if (((RegistryPermission)target).IsUnrestricted())
{
return(true);
}
else if (IsUnrestricted())
{
return(false);
}
else
{
return(EnvironmentPermission.IsSubsetOf
(readList, ((RegistryPermission)target).readList) &&
EnvironmentPermission.IsSubsetOf
(writeList, ((RegistryPermission)target).writeList) &&
EnvironmentPermission.IsSubsetOf
(createList, ((RegistryPermission)target).createList));
}
}