Freigeben über


ZoneIdentityPermission.IsSubsetOf-Methode

Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function IsSubsetOf ( _
    target As IPermission _
) As Boolean
'Usage
Dim instance As ZoneIdentityPermission
Dim target As IPermission
Dim returnValue As Boolean

returnValue = instance.IsSubsetOf(target)
public override bool IsSubsetOf (
    IPermission target
)
public:
virtual bool IsSubsetOf (
    IPermission^ target
) override
public boolean IsSubsetOf (
    IPermission target
)
public override function IsSubsetOf (
    target : IPermission
) : boolean

Parameter

  • target
    Eine Berechtigung, für die geprüft werden soll, ob sie eine Teilmenge einer anderen Berechtigung ist. Diese Berechtigung muss von demselben Typ wie die aktuelle Berechtigung sein.

Rückgabewert

true, wenn die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung darstellt, andernfalls false.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der target-Parameter ist nicht NULL (Nothing in Visual Basic), diese Berechtigung stellt nicht die NoZone-Sicherheitszone dar, und die angegebene und die aktuelle Brechtigung sind nicht identisch.

Hinweise

Die aktuelle Berechtigung stellt eine Teilmenge der angegeben Berechtigung dar, wenn die zwei Berechtigungen identisch sind oder wenn die aktuelle Berechtigung die NoZone-Sicherheitszone darstellt.

Beispiel

        ' IsSubsetOf determines whether the current permission is a subset of the specified permission.
        Private Function IsSubsetOfDemo() As Boolean
            Dim returnValue As Boolean = True
            Dim zone1, zone2 As SecurityZone
            Dim zoneIdPerm1, zoneIdPerm2 As ZoneIdentityPermission
            Dim zoneGen1 As New zoneGenerator()
            Dim zoneGen2 As New zoneGenerator()
            zoneGen1.ResetIndex()
            While zoneGen1.CreateZone(zone1)
                zoneIdPerm1 = New ZoneIdentityPermission(zone1)
                zoneGen2.ResetIndex()
                Console.WriteLine("********************************************************" & ControlChars.Cr)

                While zoneGen2.CreateZone(zone2)
                    zoneIdPerm2 = New ZoneIdentityPermission(zone2)
                    Try
                        If zoneIdPerm1.IsSubsetOf(zoneIdPerm2) Then
                            Console.WriteLine((zoneIdPerm1.SecurityZone.ToString() & _
                            " is a subset of " & zoneIdPerm2.SecurityZone.ToString()))
                        Else
                            Console.WriteLine((zoneIdPerm1.SecurityZone.ToString() & _
                            " is not a subset of " & zoneIdPerm2.SecurityZone.ToString()))
                        End If
                    Catch e As Exception
                        Console.WriteLine(("An exception was thrown for subset :" & _
                        zoneIdPerm1.ToString() & ControlChars.Cr & zoneIdPerm2.ToString() & _
                        ControlChars.Cr & e.ToString()))
                        returnValue = False
                    End Try
ContinueWhile2:
                End While
ContinueWhile1:
            End While
            Return returnValue
        End Function 'IsSubsetOfDemo
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
private bool IsSubsetOfDemo()
{
    bool returnValue = true;
    SecurityZone zone1, zone2;
    ZoneIdentityPermission zoneIdPerm1, zoneIdPerm2;
    ZoneGenerator zoneGen1 = new ZoneGenerator();
    ZoneGenerator zoneGen2 = new ZoneGenerator();
    zoneGen1.ResetIndex();
    while (zoneGen1.CreateZone(out zone1))
    {
        zoneIdPerm1 = new ZoneIdentityPermission( zone1);
        zoneGen2.ResetIndex();
        Console.WriteLine("********************************************************\n");

        while (zoneGen2.CreateZone(out zone2))
        {
            zoneIdPerm2 = new ZoneIdentityPermission( zone2);
            try
            {
                if (zoneIdPerm1.IsSubsetOf(zoneIdPerm2))
                {
                    Console.WriteLine(zoneIdPerm1.SecurityZone + " is a subset of " +
                        zoneIdPerm2.SecurityZone);
                }
                else
                {
                    Console.WriteLine(zoneIdPerm1.SecurityZone + " is not a subset of " +
                        zoneIdPerm2.SecurityZone);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception was thrown for subset :" + zoneIdPerm1 + "\n" +
                    zoneIdPerm2 + "\n" + e);
                returnValue = false;
            }
        }
    }
    return returnValue;
}
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
bool IsSubsetOfDemo()
{
   bool returnValue = true;
   SecurityZone zone1;
   SecurityZone zone2;
   ZoneIdentityPermission^ zoneIdPerm1;
   ZoneIdentityPermission^ zoneIdPerm2;
   ZoneGenerator^ zoneGen1 = gcnew ZoneGenerator;
   ZoneGenerator^ zoneGen2 = gcnew ZoneGenerator;
   zoneGen1->ResetIndex();
   while ( zoneGen1->CreateZone(  &zone1 ) )
   {
      zoneIdPerm1 = gcnew ZoneIdentityPermission( zone1 );
      zoneGen2->ResetIndex();
      Console::WriteLine( "********************************************************\n" );
      while ( zoneGen2->CreateZone(  &zone2 ) )
      {
         zoneIdPerm2 = gcnew ZoneIdentityPermission( zone2 );
         try
         {
            if ( zoneIdPerm1->IsSubsetOf( zoneIdPerm2 ) )
            {
               Console::WriteLine( "{0} is a subset of {1}", zoneIdPerm1->SecurityZone, zoneIdPerm2->SecurityZone );
            }
            else
            {
               Console::WriteLine( "{0} is not a subset of {1}", zoneIdPerm1->SecurityZone, zoneIdPerm2->SecurityZone );
            }
         }
         catch ( Exception^ e ) 
         {
            Console::WriteLine( "An exception was thrown for subset : {0}\n{1}\n{2}", zoneIdPerm1, zoneIdPerm2, e );
            returnValue = false;
         }

      }
   }

   return returnValue;
}

// IsSubsetOf determines whether the current permission
// is a subset of the specified permission.
private boolean IsSubsetOfDemo()
{
    boolean returnValue = true;
    SecurityZone zone1[] = new SecurityZone[1];
    SecurityZone zone2[] = new SecurityZone[1];
    ZoneIdentityPermission zoneIdPerm1[] = new ZoneIdentityPermission[1];
    ZoneIdentityPermission zoneIdPerm2[] = new ZoneIdentityPermission[1];
    ZoneGenerator zoneGen1 = new ZoneGenerator();
    ZoneGenerator zoneGen2 = new ZoneGenerator();

    zoneGen1.ResetIndex();
    while (zoneGen1.CreateZone(zoneIdPerm1, zone1)) {
        if (zoneIdPerm1[0] == null) {
            continue;
        }
        zoneGen2.ResetIndex();
        Console.WriteLine("****************************" 
            + "****************************\n");
        while (zoneGen2.CreateZone(zoneIdPerm2, zone2)) {
            if (zoneIdPerm2[0] == null) {
                continue;
            }

            try {
                if (zoneIdPerm1[0].IsSubsetOf(zoneIdPerm2[0])) {
                    Console.WriteLine((zoneIdPerm1[0].get_SecurityZone() 
                        + " is a subset of " 
                        + zoneIdPerm2[0].get_SecurityZone()));
                }
                else {
                    Console.WriteLine((zoneIdPerm1[0].get_SecurityZone() 
                        + " is not a subset of " + 
                    zoneIdPerm2[0].get_SecurityZone()));
                }
            }
            catch (System.Exception e) {
                Console.WriteLine(("An exception was thrown for subset :" 
                    + zoneIdPerm1[0] + "\n" + zoneIdPerm2[0] + "\n" + e));
                returnValue = false;
            }
        }
    }
    return returnValue;
} //IsSubsetOfDemo

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ZoneIdentityPermission-Klasse
ZoneIdentityPermission-Member
System.Security.Permissions-Namespace