IPermission.IsSubsetOf(IPermission) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Détermine si l’autorisation actuelle est un sous-ensemble de l’autorisation spécifiée.
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
Paramètres
- target
- IPermission
Autorisation qui doit être testée pour la relation de sous-ensemble. Cette autorisation doit être du même type que l’autorisation actuelle.
Retours
true
si l’autorisation actuelle est un sous-ensemble de l’autorisation spécifiée ; sinon, false
.
Exceptions
Le paramètre target
n’a pas la valeur null
et n’est pas du même type que l’autorisation actuelle.
Exemples
L’exemple de code suivant illustre l’implémentation de la IsSubsetOf méthode. Cet exemple de code fait partie d’un exemple plus grand fourni pour la IPermission classe .
// 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
Remarques
L’autorisation actuelle est un sous-ensemble de l’autorisation spécifiée si l’autorisation actuelle spécifie un ensemble d’opérations qui est entièrement contenu par l’autorisation spécifiée. Par exemple, une autorisation qui représente l’accès à C:\example.txt est un sous-ensemble d’une autorisation qui représente l’accès à C :\. Si cette méthode retourne true
, l’autorisation actuelle ne représente pas plus d’accès à la ressource protégée que l’autorisation spécifiée.
Les instructions suivantes doivent avoir la valeur true pour toutes les implémentations de la IsSubsetOf méthode.
X
, Y
et représentent des IPermission objets qui ne sont null
Z
pas .
X
. IsSubsetOf(X
) retournetrue
.X
. IsSubsetOf(Y
) retourne la même valeur queY
. IsSubsetOf(X
) si et uniquement siX
etY
représentent le même ensemble d’autorisations.Si
X
. IsSubsetOf(Y
) etY
. IsSubsetOf(Z
) retournetrue
tous deux ,X
. IsSubsetOf(Z
) retournetrue
.
Si X
représente un objet vide IPermission avec un état d’autorisation de None et Y
représente un IPermission objet qui est null
, X
. IsSubsetOf(Y
) retourne true
. Si Z
est également une autorisation vide, l’opération X
de jeu composé . Union(Z). IsSubsetOf(Y) retourne true
également, car l’union de deux autorisations vides est une autorisation vide.