Sdílet prostřednictvím


UIPermission.Intersect(IPermission) Metoda

Definice

Vytvoří a vrátí oprávnění, které je průsečíkem aktuálního oprávnění a zadaného oprávnění.

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

Parametry

target
IPermission

Oprávnění protínají s aktuálním oprávněním. Musí být stejného typu jako aktuální oprávnění.

Návraty

Nové oprávnění, které představuje průsečík aktuálního oprávnění a zadaného oprávnění. Toto nové oprávnění je null , pokud je průsečík prázdný.

Výjimky

Parametr target není null a není stejného typu jako aktuální oprávnění.

Příklady

Následující příklad kódu ukazuje chování Intersect metody. Tento příklad je součástí většího příkladu UIPermission pro třídu.

Poznámka

Příklad kódu je určen k zobrazení chování metody, nikoli k předvedení jejího použití. Obecně platí, že metody tříd oprávnění jsou používány infrastrukturou zabezpečení; obvykle se nepoužívají v aplikacích.

// 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

Poznámky

Průsečík dvou oprávnění je oprávnění, které popisuje sadu operací, které obě popisují. Konkrétně představuje nejméně přípustné hodnoty UIPermissionWindow a UIPermissionClipboard z hodnot v aktuálním oprávnění a zadaném oprávnění.

Platí pro