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