Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
'metodo1' è associato a una richiesta di collegamento, ma esegue l'override di 'metodo2' o lo implementa. È possibile un problema di protezione.
'method1' has a link demand, but overrides or implements 'method2' which does not have a link demand. A security hole may exist.
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 protezione, è necessario che la richiesta di collegamento sia associata anche dal metodo della classe base. Per ulteriori informazioni, vedere Demand e LinkDemand.
Esempio
Il seguente codice di esempio genera l'avviso CS0688. Per correggere l'errore senza modificare la classe base, rimuovere l'attributo di protezione dal metodo che esegue l'override. Questa operazione non risolverà il problema di protezione.
// 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()
{
}
}