internal static IPermission CheckPermissionSet(Assembly a, PermissionSet ps, bool noncas)
{
if (ps.IsEmpty())
{
return(null);
}
foreach (object obj in ps)
{
IPermission permission = (IPermission)obj;
if (!noncas && permission is CodeAccessPermission)
{
if (!SecurityManager.IsGranted(a, permission))
{
return(permission);
}
}
else
{
try
{
permission.Demand();
}
catch (SecurityException)
{
return(permission);
}
}
}
return(null);
}