IPermission.IsSubsetOf(IPermission) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy bieżące uprawnienie jest podzbiorem określonego uprawnienia.
public:
bool IsSubsetOf(System::Security::IPermission ^ target);
public bool IsSubsetOf (System.Security.IPermission? target);
public bool IsSubsetOf (System.Security.IPermission target);
abstract member IsSubsetOf : System.Security.IPermission -> bool
Public Function IsSubsetOf (target As IPermission) As Boolean
Parametry
- target
- IPermission
Uprawnienie, które ma zostać przetestowane dla relacji podzestawu. To uprawnienie musi być tego samego typu co bieżące uprawnienie.
Zwraca
true
jeśli bieżące uprawnienie jest podzbiorem określonego uprawnienia; w przeciwnym razie , false
.
Wyjątki
Parametr target
nie null
jest i nie jest tego samego typu co bieżące uprawnienie.
Przykłady
Poniższy przykład kodu przedstawia implementację IsSubsetOf metody. Ten przykład kodu jest częścią większego przykładu podanego IPermission dla klasy.
// 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;
}
// 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 Overrides Function IsSubsetOf(ByVal target As IPermission) As [Boolean]
' If 'target' is null and this permission allows nothing, return true.
If target Is Nothing Then
Return m_flags = 0
End If
' Both objects must be the same type.
Dim soundPerm As SoundPermission = VerifyTypeMatch(target)
' Return true if the permissions of 'this' is a subset of 'target'.
Return m_flags <= soundPerm.m_flags
End Function 'IsSubsetOf
Uwagi
Bieżące uprawnienie jest podzbiorem określonego uprawnienia, jeśli bieżące uprawnienie określa zestaw operacji, które są całkowicie zawarte przez określone uprawnienie. Na przykład uprawnienie reprezentujące dostęp do C:\example.txt jest podzbiorem uprawnienia reprezentującego dostęp do C:\. Jeśli ta metoda zwróci true
wartość , bieżące uprawnienie nie reprezentuje więcej dostępu do chronionego zasobu niż określone uprawnienie.
W przypadku wszystkich implementacji metody wymagane są następujące instrukcje IsSubsetOf .
X
, Y
i Z
reprezentują IPermission obiekty, które nie null
są .
X
. Funkcja IsSubsetOf(X
) zwraca wartośćtrue
.X
. Funkcja IsSubsetOf(Y
) zwraca tę samą wartość coY
. IsSubsetOf(X
) jeśli i tylko wtedy, gdyX
iY
reprezentują ten sam zestaw uprawnień.Jeśli
X
. IsSubsetOf(Y
) iY
. IsSubsetOf(Z
) zwracatrue
wartość ,X
. Funkcja IsSubsetOf(Z
) zwraca wartośćtrue
.
Jeśli X
reprezentuje pusty IPermission obiekt ze stanem uprawnień i Y
reprezentuje IPermission obiekt o null
wartości None , X
. Funkcja IsSubsetOf(Y
) zwraca wartość true
. Jeśli Z
jest również pustym uprawnieniem, operacja X
zestawu złożonego . Union(Z). Funkcja IsSubsetOf(Y) zwraca również, true
ponieważ związek dwóch pustych uprawnień jest pustym uprawnieniem.