ReflectionPermission.Intersect(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.
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.