Aviso do compilador (nível 1) CS0688
'method1' tem uma demanda de link, mas substitui ou implementa 'method2' que não tem uma demanda de link. Pode haver uma falha de segurança.
A demanda de link configurada no método de classe derivada pode ser facilmente contornada chamando o método de classe base. Para fechar a falha de segurança, o método de classe base também precisa usar a demanda de link. Para obter mais informações, consulte Demand vs. LinkDemand.
O exemplo a seguir gera o erro CS0688. Para resolver o aviso sem modificar a classe base, remova o atributo de segurança do método de substituição. Isso não resolverá o problema de segurança.
// 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()
{
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: