IPermission.IsSubsetOf(IPermission) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan apakah izin saat ini adalah subset dari izin yang ditentukan.
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
Parameter
- target
- IPermission
Izin yang akan diuji untuk hubungan subset. Izin ini harus bertipe sama dengan izin saat ini.
Mengembalikan
true
jika izin saat ini adalah subset dari izin yang ditentukan; jika tidak, false
.
Pengecualian
Parameter target
bukan null
dan bukan tipe yang sama dengan izin saat ini.
Contoh
Contoh kode berikut menunjukkan penerapan IsSubsetOf metode . Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk IPermission kelas .
// 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
Keterangan
Izin saat ini adalah subset dari izin yang ditentukan jika izin saat ini menentukan sekumpulan operasi yang sepenuhnya terkandung oleh izin yang ditentukan. Misalnya, izin yang mewakili akses ke C:\example.txt adalah subset izin yang mewakili akses ke C:\. Jika metode ini mengembalikan true
, izin saat ini tidak mewakili akses lagi ke sumber daya yang dilindungi daripada izin yang ditentukan.
Pernyataan berikut harus benar untuk semua implementasi IsSubsetOf metode.
X
, Y
, dan Z
mewakili IPermission objek yang bukan null
.
X
. IsSubsetOf(X
) mengembalikantrue
.X
. IsSubsetOf(Y
) mengembalikan nilai yang sama denganY
. IsSubsetOf(X
) jika dan hanya jikaX
danY
mewakili sekumpulan izin yang sama.Jika
X
. IsSubsetOf(Y
) danY
. IsSubsetOf(Z
) mengembalikantrue
,X
. IsSubsetOf(Z
) mengembalikantrue
.
Jika X
mewakili objek kosong IPermission dengan status None izin dan Y
mewakili IPermission objek yaitu null
, X
. IsSubsetOf(Y
) mengembalikan true
. Jika Z
juga merupakan izin kosong, operasi X
set gabungan . Union(Z). IsSubsetOf(Y) juga mengembalikan true
karena persatuan dua izin kosong adalah izin kosong.