Partager via


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

// Intersect creates and returns a new permission that is the intersection of the
// current permission and the permission specified.
void IntersectDemo()
{
    Console::WriteLine("\n**********************  Intersect() Demo ***********************\n");
    UIPermission ^ uiPerm1 = gcnew UIPermission(UIPermissionWindow::SafeTopLevelWindows,UIPermissionClipboard::OwnClipboard);
    UIPermission ^ uiPerm2 = gcnew UIPermission(UIPermissionWindow::SafeSubWindows,UIPermissionClipboard::NoClipboard);
    UIPermission ^ p3 = (UIPermission^)uiPerm1->Intersect(uiPerm2);

        Console::WriteLine("   The intersection of {0} and \n\t{1} = {2} ", uiPerm1->Window,
                               uiPerm1->Window, (nullptr != p3)?p3->Window.ToString():"null");

        Console::WriteLine("   The intersection of " + uiPerm1->Clipboard.ToString() + " and \n\t" +
                uiPerm2->Clipboard.ToString() + " is " + p3->Clipboard.ToString());
}
// Intersect creates and returns a new permission that is the intersection of the
// current permission and the permission specified.
private static void IntersectDemo()
{
    UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard);
    UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows, UIPermissionClipboard.NoClipboard);
    UIPermission p3 = (UIPermission)uiPerm1.Intersect(uiPerm2);

    Console.WriteLine("The intersection of " + uiPerm1.Window.ToString() + " and \n\t" +
        uiPerm2.Window.ToString() + " is " + p3.Window.ToString() + "\n");
    Console.WriteLine("The intersection of " + uiPerm1.Clipboard.ToString() + " and \n\t" +
            uiPerm2.Clipboard.ToString() + " is " + p3.Clipboard.ToString() + "\n");
}
' Intersect creates and returns a new permission that is the intersection of the
' current permission and the permission specified.
Private Shared Sub IntersectDemo()
    Dim uiPerm1 As New UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard)
    Dim uiPerm2 As New UIPermission(UIPermissionWindow.SafeSubWindows, UIPermissionClipboard.NoClipboard)
    Dim p3 As UIPermission = CType(uiPerm1.Intersect(uiPerm2), UIPermission)

    Console.WriteLine("The intersection of " + uiPerm1.Window.ToString() + " and " + vbLf + vbTab + uiPerm2.Window.ToString() + " is " + p3.Window.ToString() + vbLf)
    Console.WriteLine("The intersection of " + uiPerm1.Clipboard.ToString() + " and " + vbLf + vbTab + uiPerm2.Clipboard.ToString() + " is " + p3.Clipboard.ToString() + vbLf)

End Sub

Remarques

L’intersection de deux autorisations est une autorisation qui décrit l’ensemble des opérations qu’elles décrivent toutes deux en commun. Plus précisément, il représente les valeurs les moins permissives de UIPermissionWindow et UIPermissionClipboard de celles de l’autorisation actuelle et de l’autorisation spécifiée.

S’applique à