Bagikan melalui


ReflectionPermission.Intersect(IPermission) Metode

Definisi

Membuat dan mengembalikan izin yang merupakan persimpangan izin saat ini dan izin yang ditentukan.

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

Parameter

target
IPermission

Izin untuk bersinggungan dengan izin saat ini. Jenisnya harus sama dengan izin saat ini.

Mengembalikan

Izin baru yang mewakili persimpangan izin saat ini dan izin yang ditentukan. Izin baru ini adalah null jika persimpangan kosong.

Pengecualian

Parameter target bukan null dan bukan tipe yang sama dengan izin saat ini.

Contoh

Contoh kode berikut menunjukkan perilaku Intersect metode . Contoh ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ReflectionPermission kelas .

Catatan

Contoh kode dimaksudkan untuk menunjukkan perilaku metode , bukan untuk menunjukkan penggunaannya. Secara umum, metode kelas izin digunakan oleh infrastruktur keamanan; biasanya tidak digunakan dalam aplikasi.

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

Keterangan

Persimpangan dua izin adalah izin yang menjelaskan serangkaian operasi yang mereka jelaskan bersama. Hanya permintaan yang melewati kedua izin asli yang akan melewati persimpangan.

Berlaku untuk