ReflectionPermission.Intersect(IPermission) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří a vrátí oprávnění, které je průsečíkem aktuálního a zadaného oprávnění.
public:
override System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public override System.Security.IPermission Intersect (System.Security.IPermission target);
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Intersect (target As IPermission) As IPermission
Parametry
- target
- IPermission
Oprávnění, které se protíná s aktuálním oprávněním. Musí být stejného typu jako aktuální oprávnění.
Návraty
Nové oprávnění, které představuje průsečík aktuálního oprávnění a zadaného oprávnění. Toto nové oprávnění je null
, pokud je průsečík prázdný.
Výjimky
Parametr target
není null
a není stejného typu jako aktuální oprávnění.
Příklady
Následující příklad kódu ukazuje chování Intersect metody . Tento příklad je součástí většího příkladu poskytnutého ReflectionPermission pro třídu .
Poznámka
Příklad kódu je určen k zobrazení chování metody, nikoli k demonstraci jejího použití. Obecně platí, že metody tříd oprávnění jsou používány infrastrukturou zabezpečení; v aplikacích se obvykle nepoužívají.
private static void IntersectDemo()
{
ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
ReflectionPermission reflectionPerm3 = (ReflectionPermission)memberAccessPerm.Intersect(restrictedMemberAccessPerm);
if (reflectionPerm3 != null)
{
Console.WriteLine("The intersection of " + memberAccessPerm.Flags +
" and " + restrictedMemberAccessPerm.Flags + " = " +
((ReflectionPermission)reflectionPerm3).Flags.ToString());
}
else
{
Console.WriteLine("The intersection of " + memberAccessPerm.Flags + " and " +
restrictedMemberAccessPerm.Flags + " is null.");
}
}
Private Shared Sub IntersectDemo()
Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
Dim reflectionPerm3 As ReflectionPermission = CType(memberAccessPerm.Intersect(restrictedMemberAccessPerm), ReflectionPermission)
If Not (reflectionPerm3 Is Nothing) Then
Console.WriteLine("The intersection of " + memberAccessPerm.Flags.ToString() + _
" and " + restrictedMemberAccessPerm.Flags.ToString() + " = " + _
CType(reflectionPerm3, ReflectionPermission).Flags.ToString())
Else
Console.WriteLine("The intersection of " + memberAccessPerm.Flags.ToString + " and " + _
restrictedMemberAccessPerm.Flags.ToString() + " is null.")
End If
End Sub
Poznámky
Průsečík dvou oprávnění je oprávnění, které popisuje sadu operací, které obě popisují společně. Průnikem projde jenom požadavek, který projde oběma původními oprávněními.