Partager via


ReflectionPermission.Intersect(IPermission) Méthode

Définition

Crée et retourne une autorisation qui constitue l’intersection entre l’autorisation actuelle et l’autorisation spécifiée.

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.IPermission
Public Overrides Function Intersect (target As IPermission) As IPermission

Paramètres

target
IPermission

Autorisation à croiser avec l’autorisation actuelle. Elle doit être du même type que l’autorisation actuelle.

Retours

Nouvelle autorisation qui représente l’intersection entre l’autorisation actuelle et l’autorisation spécifiée. Cette nouvelle autorisation est null si l’intersection est vide.

Exceptions

Le paramètre target n’a pas la valeur null et n’est pas du même type que l’autorisation actuelle.

Exemples

L’exemple de code suivant montre le comportement de la Intersect méthode. Cet exemple fait partie d’un exemple plus grand fourni pour la ReflectionPermission classe .

Notes

L’exemple de code est destiné à montrer le comportement de la méthode, et non à illustrer son utilisation. En général, les méthodes des classes d’autorisation sont utilisées par l’infrastructure de sécurité ; ils ne sont généralement pas utilisés dans les applications.

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

Remarques

L’intersection de deux autorisations est une autorisation qui décrit l’ensemble des opérations qu’elles décrivent en commun. Seule une demande qui passe les deux autorisations d’origine réussit l’intersection.

S’applique à