Upozornění kompilátoru (úroveň 1) CS0688
Metoda1 má požadavek na propojení, ale přepíše nebo implementuje metodu 2, která nemá požadavek na propojení. Může existovat bezpečnostní díra.
Požadavek na propojení nastavený na metodu odvozené třídy lze snadno obejít voláním metody základní třídy. K zavření bezpečnostní díry potřebuje metoda základní třídy také použít poptávku po propojení. Další informace najdete v tématu Poptávka vs. LinkDemand.
Následující ukázka vygeneruje CS0688. Chcete-li vyřešit upozornění bez úpravy základní třídy, odeberte atribut zabezpečení z přepsání metody. Tím se problém se zabezpečením nevyřeší.
// 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()
{
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: