Baca dalam bahasa Inggris

Bagikan melalui


Peringatan Pengompilasi (level 1) CS0688

'method1' memiliki permintaan link, tetapi mengambil alih atau mengimplementasikan 'method2' yang tidak memiliki permintaan link. Mungkin ada lubang keamanan.

Permintaan link yang disiapkan pada metode kelas turunan dapat dengan mudah diabaikan dengan memanggil metode kelas dasar. Untuk menutup lubang keamanan, metode kelas dasar juga perlu menggunakan permintaan link. Untuk informasi selengkapnya, lihat Permintaan vs. PermintaanLink.

Contoh

Sampel berikut menghasilkan CS0688. Untuk mengatasi peringatan tanpa memodifikasi kelas dasar, hapus atribut keamanan dari metode yang mengambil alih. Ini tidak akan menyelesaikan masalah keamanan.

// CS0688.cs  
// compile with: /W:1  
using System;  
using System.Security.Permissions;  
  
class Base
{  
    //Uncomment the following line to close the security hole  
    //[FileIOPermission(SecurityAction.LinkDemand, All=@"C:\\")]  
    public virtual void DoScaryFileStuff()  
    {  
    }  
}  
  
class Derived: Base  
{  
    [FileIOPermission(SecurityAction.LinkDemand, All=@"C:\\")] // CS0688  
    public override void DoScaryFileStuff()  
    {  
    }  
    static void Main()  
    {  
    }  
}