IPermission.IsSubsetOf(IPermission) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
, Y
ve Z
olmayan null
nesneleri temsil ederIPermission.
X
. IsSubsetOf(X
) döndürürtrue
.X
. IsSubsetOf(Y
), ile aynı değeriY
döndürür. IsSubsetOf(X
) if ve only ifX
andY
represent the same permissions .Ise
X
. IsSubsetOf(Y
) veY
. IsSubsetOf(Z
) her ikisi de , döndürürtrue
X
. IsSubsetOf(Z
) döndürürtrue
.
İzin X
durumuna None sahip boş IPermission bir nesneyi temsil ederse ve Y
olan null
bir 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
.