I have previously used the Unrestricted attribute in the classic way:
The following code is a request stating that an assembly must have unrestricted access to the file system in order to function.
using System.Security.Permissions;
// Indicates that FileIOPermission is required to run this assembly.
[assembly:FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)]
public class FileManager
{
// Insert code to add and delete files.
}
in this context Unrestricted=false would mean file access is not nessessarily required, for the method to execute.
as opposed to the 'oppisite' which would require that in order for the method to execute, file access must not be granted.
In most cases where the SecurityAction (Unrestricted=true||false) may be created dynamicaly, the first case usually makes more sense.