Предупреждение компилятора (уровень 1) CS0688
Метод "метод1" содержит запрос компоновки, но переопределяет или реализует метод "метод2", который не имеет запрос компоновки. Может возникнуть нарушение защиты.
Запрос компоновки, установленный в методе производного класса, можно легко обойти, вызвав метод базового класса. Чтобы закрыть эту брешь в системе безопасности, метод базового класса также должен использовать запрос компоновки. Дополнительные сведения см. в разделе Demand и LinkDemand.
В следующем примере возникает ошибка CS0688. Чтобы устранить это предупреждение без изменения базового класса, удалите атрибут безопасности из переопределяющего метода. Это не решит проблему безопасности.
// 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()
{
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: