public static PermissionSet ResolvePolicy(Evidence[] evidences)
{
if (!AppDomain.CurrentDomain.IsLegacyCasPolicyEnabled)
{
throw new NotSupportedException(Environment.GetResourceString("NotSupported_RequiresCasPolicyExplicit"));
}
if (evidences == null || evidences.Length == 0)
{
evidences = new Evidence[1];
}
PermissionSet permissionSet = SecurityManager.ResolvePolicy(evidences[0]);
if (permissionSet == null)
{
return(null);
}
for (int i = 1; i < evidences.Length; i++)
{
permissionSet = permissionSet.Intersect(SecurityManager.ResolvePolicy(evidences[i]));
if (permissionSet == null || permissionSet.IsEmpty())
{
return(permissionSet);
}
}
return(permissionSet);
}