Auf Englisch lesen

Teilen über


IPermission.IsSubsetOf(IPermission) Methode

Definition

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

C#
public bool IsSubsetOf(System.Security.IPermission? target);
C#
public bool IsSubsetOf(System.Security.IPermission target);

Parameter

target
IPermission

Eine Berechtigung, die auf die Teilmengenbeziehung geprüft werden soll. Diese Berechtigung muss denselben Typ aufweisen wie die aktuelle Berechtigung.

Gibt zurück

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

Ausnahmen

Der target-Parameter ist nicht null und weist nicht denselben Typ wie die aktuelle Berechtigung auf.

Beispiele

Im folgenden Codebeispiel wird die Implementierung der IsSubsetOf -Methode veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die IPermission-Klasse bereitgestellt wird.

C#
// 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;
}

Hinweise

Die aktuelle Berechtigung ist eine Teilmenge der angegebenen Berechtigung, wenn die aktuelle Berechtigung einen Satz von Vorgängen angibt, der vollständig in der angegebenen Berechtigung enthalten ist. Beispielsweise ist eine Berechtigung, die den Zugriff auf C:\example.txt darstellt, eine Teilmenge einer Berechtigung, die den Zugriff auf C:\darstellt. Wenn diese Methode zurückgibt true, stellt die aktuelle Berechtigung keinen weiteren Zugriff auf die geschützte Ressource dar als die angegebene Berechtigung.

Die folgenden Anweisungen müssen für alle Implementierungen der IsSubsetOf Methode true sein. X, Yund Z stellen Objekte dar IPermission , die nicht nullsind.

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

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

  • Wenn X. IsSubsetOf(Y) und Y. IsSubsetOf(Z) gibt truezurück , X. IsSubsetOf(Z) gibt zurück true.

If X stellt ein leeres IPermission Objekt mit dem Berechtigungsstatus von None dar und Y stellt ein IPermission Objekt dar, das nullist , X. IsSubsetOf(Y) gibt zurück true. Wenn Z auch eine leere Berechtigung ist, ist der zusammengesetzte Satzvorgang X. Union(Z). IsSubsetOf(Y) gibt auch zurück true , da die Union von zwei leeren Berechtigungen eine leere Berechtigung ist.

Gilt für:

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1