public override bool IsSubsetOf(IPermission target)
{
FileIOPermission fiop = Cast(target);
if (fiop == null)
{
return(false);
}
if (fiop.IsEmpty())
{
return(IsEmpty());
}
if (IsUnrestricted())
{
return(fiop.IsUnrestricted());
}
else if (fiop.IsUnrestricted())
{
return(true);
}
if ((m_AllFilesAccess & fiop.AllFiles) != m_AllFilesAccess)
{
return(false);
}
if ((m_AllLocalFilesAccess & fiop.AllLocalFiles) != m_AllLocalFilesAccess)
{
return(false);
}
if (!KeyIsSubsetOf(appendList, fiop.appendList))
{
return(false);
}
if (!KeyIsSubsetOf(readList, fiop.readList))
{
return(false);
}
if (!KeyIsSubsetOf(writeList, fiop.writeList))
{
return(false);
}
if (!KeyIsSubsetOf(pathList, fiop.pathList))
{
return(false);
}
return(true);
}