IPermission.IsSubsetOf(IPermission) Yöntem

Tanım

Geçerli iznin belirtilen iznin bir alt kümesi olup olmadığını belirler.

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

Parametreler

target
IPermission

Alt küme ilişkisi için test edilecek bir izin. Bu izin geçerli izinle aynı türde olmalıdır.

Döndürülenler

true geçerli izin belirtilen iznin bir alt kümesiyse; aksi takdirde , false.

Özel durumlar

target parametresi değil null ve geçerli izinle aynı türde değil.

Örnekler

Aşağıdaki kod örneğinde yönteminin uygulanması gösterilmektedir IsSubsetOf . Bu kod örneği, sınıfı için IPermission sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Geçerli izin, belirtilen izin tarafından tamamen kapsanan bir işlem kümesi belirtiyorsa, geçerli izin belirtilen iznin bir alt kümesidir. Örneğin, C:\example.txt erişimini temsil eden izin, C:\ erişimi temsil eden bir iznin alt kümesidir. Bu yöntem döndürürse true, geçerli izin belirtilen izinden daha fazla korumalı kaynağa erişimi temsil etmez.

Yönteminin tüm uygulamaları için aşağıdaki deyimlerin IsSubsetOf true olması gerekir. X, Yve Z olmayan nullnesneleri temsil ederIPermission.

  • X. IsSubsetOf(X) döndürür true.

  • X. IsSubsetOf(Y), ile aynı değeri Ydöndürür. IsSubsetOf(X) if ve only if X and Y represent the same permissions .

  • IseX. IsSubsetOf(Y) ve Y. IsSubsetOf(Z) her ikisi de , döndürürtrueX. IsSubsetOf(Z) döndürürtrue.

İzin X durumuna None sahip boş IPermission bir nesneyi temsil ederse ve Y olan nullbir IPermission nesneyi temsil eder. X IsSubsetOf(Y) döndürürtrue. Ayrıca boş bir izinse Z , bileşik küme işlemi X. Union(Z). İki boş iznin birleşimi boş bir izin olduğundan IsSubsetOf(Y) de döndürür true .

Şunlara uygulanır