UIPermission.Intersect(IPermission) Método

Definición

Crea y devuelve un permiso que es la intersección entre el permiso actual y el permiso especificado.Creates and returns a permission that is the intersection of the current permission and the specified permission.

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

Parámetros

target
IPermission

Permiso que forma una intersección con el permiso actual.A permission to intersect with the current permission. Debe ser del mismo tipo que el permiso actual.It must be the same type as the current permission.

Devoluciones

Nuevo permiso que representa la intersección entre el permiso actual y el permiso especificado.A new permission that represents the intersection of the current permission and the specified permission. Este nuevo permiso es null si la intersección está vacía.This new permission is null if the intersection is empty.

Excepciones

El parámetro target no es null y tampoco es del mismo tipo que el permiso actual.The target parameter is not null and is not of the same type as the current permission.

Ejemplos

En el ejemplo de código siguiente se muestra el comportamiento del método Intersect.The following code example shows the behavior of the Intersect method. Este ejemplo forma parte de un ejemplo más extenso proporcionado para la clase UIPermission.This example is part of a larger example provided for the UIPermission class.

Nota

El ejemplo de código está diseñado para mostrar el comportamiento del método, no para demostrar su uso.The code example is intended to show the behavior of the method, not to demonstrate its use. En general, la infraestructura de seguridad utiliza los métodos de las clases de permiso; normalmente no se utilizan en las aplicaciones.In general, the methods of permission classes are used by the security infrastructure; they are not typically used in 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


Comentarios

La intersección de dos permisos es un permiso que describe el conjunto de operaciones que describen en común.The intersection of two permissions is a permission that describes the set of operations they both describe in common. En concreto, representa los valores menos permisivos de UIPermissionWindow y UIPermissionClipboard de los del permiso actual y del permiso especificado.Specifically, it represents the least permissive values of UIPermissionWindow and UIPermissionClipboard from those in the current permission and the specified permission.

Se aplica a