PrincipalPermission.Intersect(IPermission) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建并返回一个权限,该权限是当前权限与指定权限的交集。
public:
virtual System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public System.Security.IPermission Intersect (System.Security.IPermission target);
abstract member Intersect : System.Security.IPermission -> System.Security.IPermission
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Function Intersect (target As IPermission) As IPermission
参数
- target
- IPermission
要与当前权限相交的权限。 它必须与当前权限属于同一类型。
返回
表示当前权限和指定权限的交集的一个新权限。 如果交集为空,则此新权限将为 null
。
实现
例外
target
参数不为 null
,并且是与当前权限不属于同一类的实例。
注解
由于两个用户永远不会相交,因此此方法对 PrincipalPermission没有用。 例如,
PrincipalPermission^ ppBob = gcnew PrincipalPermission("Bob", "Administrator");
PrincipalPermission^ ppLouise = gcnew PrincipalPermission("Louise", "Administrator");
IPermission^ pp1 = ppBob->Intersect(ppLouise);
PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
IPermission pp1 = ppBob.Intersect(ppLouise);
Dim ppBob As New PrincipalPermission("Bob", "Administrator")
Dim ppLouise As New PrincipalPermission("Louise", "Administrator")
Dim pp1 As IPermission = ppBob.Intersect(ppLouise)
等效于
IPermission^ pp1 = gcnew PrincipalPermission("", "Administrator");
IPermission pp1 = new PrincipalPermission("", "Administrator");
Dim pp1 As IPermission = New PrincipalPermission("", "Administrator")
因为没有标识可以同时表示 Bob 和 Louise。 实际上, pp1.Demand()
仅当允许未经身份验证的主体 (名称等于空字符串 (“”) ) “时,才成功执行管理员角色。