IPermission.Intersect(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 ve belirtilen iznin kesişimi olan bir izin oluşturur ve döndürür.
public:
System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public System.Security.IPermission? Intersect (System.Security.IPermission? target);
public System.Security.IPermission Intersect (System.Security.IPermission target);
abstract member Intersect : System.Security.IPermission -> System.Security.IPermission
Public Function Intersect (target As IPermission) As IPermission
Parametreler
- target
- IPermission
Geçerli izinle kesişmek için bir izin. Geçerli izinle aynı türde olmalıdır.
Döndürülenler
Geçerli iznin ve belirtilen iznin kesişimini temsil eden yeni bir izin. Bu yeni izin, null
kesişim boşsa olur.
Özel durumlar
target
parametresi değil null
ve geçerli izinle aynı sınıfın bir örneği değil.
Örnekler
Aşağıdaki kod örneğinde yönteminin uygulanması gösterilmektedir Intersect . Bu kod örneği, sınıfı için IPermission sağlanan daha büyük bir örneğin parçasıdır.
// Return a new object that contains the intersection
// of 'this' and 'target'.
public:
virtual IPermission^ Intersect(IPermission^ target) override
{
// If 'target' is null, return null.
if (target == nullptr)
{
return nullptr;
}
// Both objects must be the same type.
SoundPermission^ soundPerm = VerifyTypeMatch(target);
// If 'this' and 'target' are unrestricted,
// return a new unrestricted permission.
if (specifiedAsUnrestricted && soundPerm->specifiedAsUnrestricted)
{
return Clone(true, SoundPermissionState::PlayAnySound);
}
// Calculate the intersected permissions.
// If there are none, return null.
SoundPermissionState minimumPermission = (SoundPermissionState)
Math::Min((int) stateFlags, (int) soundPerm->stateFlags);
if ((int)minimumPermission == 0)
{
return nullptr;
}
// Return a new object with the intersected permission value.
return Clone(false, minimumPermission);
}
// Return a new object that contains the intersection of 'this' and 'target'.
public override IPermission Intersect(IPermission target)
{
// If 'target' is null, return null.
if (target == null) return null;
// Both objects must be the same type.
SoundPermission soundPerm = VerifyTypeMatch(target);
// If 'this' and 'target' are unrestricted, return a new unrestricted permission.
if (m_specifiedAsUnrestricted && soundPerm.m_specifiedAsUnrestricted)
return Clone(true, SoundPermissionState.PlayAnySound);
// Calculate the intersected permissions. If there are none, return null.
SoundPermissionState val = (SoundPermissionState)
Math.Min((Int32)m_flags, (Int32)soundPerm.m_flags);
if (val == 0) return null;
// Return a new object with the intersected permission value.
return Clone(false, val);
}
' Return a new object that contains the intersection of 'this' and 'target'.
Public Overrides Function Intersect(ByVal target As IPermission) As IPermission
' If 'target' is null, return null.
If target Is Nothing Then
Return Nothing
End If
' Both objects must be the same type.
Dim soundPerm As SoundPermission = VerifyTypeMatch(target)
' If 'this' and 'target' are unrestricted, return a new unrestricted permission.
If m_specifiedAsUnrestricted AndAlso soundPerm.m_specifiedAsUnrestricted Then
Return Clone(True, SoundPermissionState.PlayAnySound)
End If
' Calculate the intersected permissions. If there are none, return null.
Dim val As SoundPermissionState = CType(Math.Min(CType(m_flags, Int32), CType(soundPerm.m_flags, Int32)), SoundPermissionState)
If val = 0 Then
Return Nothing
End If
' Return a new object with the intersected permission value.
Return Clone(False, val)
End Function 'Intersect
Açıklamalar
İki iznin kesişimi, her ikisinin de ortak olarak açıkladıkları işlem kümesini açıklayan bir izindir. Yalnızca her iki özgün izni de geçen bir talep kesişimi geçer.
Yönteminin tüm uygulamaları için aşağıdaki deyimlerin Intersect true olması gerekir.
X
ve Y
olmayan null
nesne başvurularını temsil IPermission eder.
X
. Kesişim()X
, değerine eşitX
bir değer döndürür.X
. Kesişim()Y
, ile aynı değeriY
döndürür. Kesişen(X
).X
. Kesişim()null
, döndürürnull
.