SecurityAttribute.Unrestricted问题

我对此属性感到困惑,如此处所述, http://msdn.microsoft.com/en-us/library/system.security.permissions.securityattribute.unrestricted.aspx我们可以将其全部或非完整。

我的困惑是直接理解的许可,应该只有两个状态 – 授予和不授予,完整和非完整意味着什么?

我之前使用过经典方式的Unrestricted属性:

以下代码是一个请求,指出程序集必须具有对文件系统的无限制访问才能运行。

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. } 

在此上下文中,Unrestricted = false意味着对于要执行的方法,不需要文件访问。

与要求执行该方法所需的“反对”相反,不得授予文件访问权限。

在大多数可以动态创建SecurityAction(Unrestricted = true || false)的情况下,第一种情况通常更有意义。