次の方法で共有


IPermission.IsSubsetOf(IPermission) メソッド

定義

現在のアクセス許可が、指定したアクセス許可のサブセットであるかどうかを判断します。

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

パラメーター

target
IPermission

サブセットの関係にあるかどうかをテストするアクセス許可。 このアクセス許可は、現在のアクセス許可と同じ型であることが必要です。

戻り値

現在のアクセス許可が、指定したアクセス許可のサブセットの場合は true。それ以外の場合は false

例外

target パラメーターが null でなく、また現在のアクセス許可と同じ型でもありません。

次のコード例では、 メソッドの実装を IsSubsetOf 示します。 このコード例は、IPermission クラスのために提供されている大規模な例の一部です。

    // 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

注釈

現在のアクセス許可が、指定したアクセス許可に完全に含まれる一連の操作を指定している場合、現在のアクセス許可は、指定されたアクセス許可のサブセットです。 たとえば、C:\example.txt へのアクセスを表すアクセス許可は、C:\ へのアクセスを表すアクセス許可のサブセットです。 このメソッドが を true返す場合、現在のアクセス許可は、指定されたアクセス許可よりも保護されたリソースへのアクセスを表しません。

次のステートメントは、 メソッドのすべての実装 IsSubsetOf で true である必要があります。 XY、および Z は ではないnullオブジェクトを表しますIPermission

  • X.IsSubsetOf(X) は を返します true

  • X.IsSubsetOf(Y) は と同じ値Yを返します。IsSubsetOf(X) が同じアクセス許可のセットを表す場合XYのみ。

  • の場合X。IsSubsetOf(Y) と Y。IsSubsetOf(Z) はどちらも 、 をX返しますtrue。IsSubsetOf(Z) は を返しますtrue

が、アクセス許可の状態を持つ空のNoneオブジェクトを表しY、 が であるオブジェクトをIPermission表す場合XnullXIPermissionIsSubsetOf(Y) は を返しますtrue。 が空のアクセス許可でもある場合 Z 、複合設定操作 は です X。Union(Z)。2 つの空のアクセス許可の和集合が空のアクセス許可であるため、IsSubsetOf(Y) も返されます true

適用対象