ReflectionPermission.Union(IPermission) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个权限,该权限是当前权限与指定权限的并集。
public:
override System::Security::IPermission ^ Union(System::Security::IPermission ^ other);
public override System.Security.IPermission Union (System.Security.IPermission other);
override this.Union : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Union (other As IPermission) As IPermission
参数
- other
- IPermission
与当前权限合并的权限。 它必须与当前权限属于同一类型。
返回
表示同时兼具当前权限和指定权限的新权限。
例外
other
参数不为 null
,并且与当前权限不属于同一类型。
示例
下面的代码示例演示 方法的行为 Union 。 此示例是为 类提供的更大示例的一 ReflectionPermission 部分。
注意
代码示例旨在显示方法的行为,而不是演示其用法。 通常,安全基础结构使用权限类的方法;它们通常不用于应用程序。
private static void UnionDemo()
{
ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
ReflectionPermission reflectionPerm3 = (ReflectionPermission)memberAccessPerm.Union(restrictedMemberAccessPerm);
if (reflectionPerm3 == null)
{
Console.WriteLine("The union of " + memberAccessPerm.Flags + " and " +
restrictedMemberAccessPerm.Flags + " is null.");
}
else
{
Console.WriteLine("The union of " + memberAccessPerm.Flags + " and " +
restrictedMemberAccessPerm.Flags + " = " +
((ReflectionPermission)reflectionPerm3).Flags.ToString());
}
}
Private Shared Sub UnionDemo()
Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
Dim reflectionPerm3 As ReflectionPermission = _
CType(memberAccessPerm.Union(restrictedMemberAccessPerm), ReflectionPermission)
If reflectionPerm3 Is Nothing Then
Console.WriteLine("The union of " + memberAccessPerm.Flags.ToString() + " and " + _
restrictedMemberAccessPerm.Flags.ToString() + " is null.")
Else
Console.WriteLine("The union of " + memberAccessPerm.Flags.ToString() + _
" and " + restrictedMemberAccessPerm.Flags.ToString() + " = " + _
CType(reflectionPerm3, ReflectionPermission).Flags.ToString())
End If
End Sub
注解
调用 Union 的结果是权限,该权限表示当前权限和指定权限表示的所有操作。 通过任一权限的任何要求都会通过其联合。