Avviso del compilatore (livello 1) CS0688

'method1' è associato a una richiesta di collegamento, ma esegue l'override di 'method2' o lo implementa. Tale elemento non è associato ad alcuna richiesta di collegamento. È possibile un problema di sicurezza.

La richiesta di collegamento associata al metodo della classe derivata può essere facilmente ignorata chiamando il metodo della classe base. Per risolvere il problema di sicurezza, è necessario che la richiesta di collegamento sia usata anche dal metodo della classe base. Per altre informazioni, vedere Demand e LinkDemand.

Esempio

L'esempio seguente genera l'errore CS0688. Per risolvere l'errore senza modificare la classe base, rimuovere l'attributo di sicurezza dal metodo che esegue l'override. Questa operazione non risolverà il problema di sicurezza.

// 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()  
    {  
    }  
}