Freigeben über


IPermission.IsSubsetOf-Methode

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

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

Syntax

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

returnValue = instance.IsSubsetOf(target)
bool IsSubsetOf (
    IPermission target
)
bool IsSubsetOf (
    IPermission^ target
)
boolean IsSubsetOf (
    IPermission target
)
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) und gehört nicht zum gleichen Typ wie die aktuelle Berechtigung.

Hinweise

Die aktuelle Berechtigung ist eine Teilmenge der angegebenen Berechtigung, wenn die aktuelle Berechtigung eine Gruppe von Operationen angibt, die vollständig in der angegebenen Berechtigung enthalten ist. Beispielsweise ist eine Berechtigung, die den Zugriff auf C:\beispiel.txt darstellt, eine Teilmenge einer Berechtigung, die den Zugriff auf C:\ darstellt. Wenn diese Methode true zurückgibt, stellt die aktuelle Berechtigung keine weitergehenden Zugriffsrechte für die geschützte Ressource dar als die angegebene Berechtigung.

Die folgenden Aussagen müssen für jede Implementierung der IsSubsetOf-Methode zutreffen. X, Y und Z stellen IPermission-Objekte dar, die nicht NULL (Nothing in Visual Basic) sind.

  • X.IsSubsetOf(X) gibt true zurück.

  • X.IsSubsetOf(Y) gibt denselben Wert wie Y.IsSubsetOf(X) dann und nur dann zurück, wenn X und Y denselben Berechtigungssatz darstellen.

  • Wenn sowohl X.IsSubsetOf(Y) als auch Y.IsSubsetOf(Z) true zurückgeben, gibt X.IsSubsetOf(Z) true zurück.

Wenn X ein leeres IPermission-Objekt mit dem Berechtigungszustand None darstellt und Y ein IPermission-Objekt darstellt, das NULL (Nothing in Visual Basic) ist, gibt X.IsSubsetOf(Y) den Wert true zurück. Wenn Z auch eine leere Berechtigung ist, gibt der zusammengesetzte set-Vorgang X.Union(Z).IsSubsetOf(Y) ebenfalls true zurück, da die Union zweier leerer Berechtigungen eine leere Berechtigung ist.

Beispiel

Im folgenden Codebeispiel wird das Implementieren der IsSubsetOf-Methode veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die IPermission-Klasse.

// Called by the Demand method: returns true if 'this' is a subset of 'target'.
public override Boolean IsSubsetOf(IPermission target) 
{
    // If 'target' is null and this permission allows nothing, return true.
    if (target == null) return m_flags == 0;

    // Both objects must be the same type.
    SoundPermission soundPerm = VerifyTypeMatch(target);

    // Return true if the permissions of 'this' is a subset of 'target'.
    return m_flags <= soundPerm.m_flags;
}
    // Called by the Demand method: returns true 
    // if 'this' is a subset of 'target'.
public:
    virtual bool IsSubsetOf(IPermission^ target) override
    {
        // If 'target' is null and this permission allows nothing, 
        // return true.
        if (target == nullptr)
        {
            return (int)stateFlags == 0;
        }

        // Both objects must be the same type.
        SoundPermission^ soundPerm = VerifyTypeMatch(target);

        // Return true if the permissions of 'this' 
        // is a subset of 'target'.
        return stateFlags <= soundPerm->stateFlags;
    }

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

IPermission-Schnittstelle
IPermission-Member
System.Security-Namespace