ReflectionPermission.Intersect(IPermission) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy i zwraca uprawnienie, które jest skrzyżowaniem bieżącego uprawnienia i określonego uprawnienia.
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
Uprawnienie do przecinania z bieżącym uprawnieniem. Musi być tego samego typu co bieżące uprawnienie.
Zwraca
Nowe uprawnienie, które reprezentuje przecięcie bieżącego uprawnienia i określonego uprawnienia. To nowe uprawnienie jest null
takie, jeśli skrzyżowanie jest puste.
Wyjątki
Parametr target
nie null
jest i nie jest tego samego typu co bieżące uprawnienie.
Przykłady
Poniższy przykład kodu przedstawia zachowanie Intersect metody. Ten przykład jest częścią większego przykładu udostępnionego ReflectionPermission dla klasy.
Uwaga
Przykładowy kod ma na celu pokazanie zachowania metody, a nie zademonstrowania jej użycia. Ogólnie rzecz biorąc, metody klas uprawnień są używane przez infrastrukturę zabezpieczeń; nie są one zwykle używane w aplikacjach.
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
Uwagi
Przecięcie dwóch uprawnień to uprawnienie opisujące wspólny zestaw operacji opisanych w obu tych operacjach. Tylko żądanie, które przechodzi oba oryginalne uprawnienia, przejdzie skrzyżowanie.