CS.SV.LINK_DEMAND.INHERITANCE
型リンクの要求には継承の要求が必要です。
メソッドまたはその宣言型でのリンク要求では、メソッドの直接の呼び出し元に指定された許可がある必要があります。メソッドでの継承要求では、オーバーライドするメソッドに指定された許可がある必要があります。型での継承要求では、指定された許可が派生クラスにある必要があります。
軽減と防止
この規則の違反を修正するには、リンク要求と同じ許可に対して、継承要求により型またはメソッドをセキュリティ保護します。
脆弱コード例
コピー
using System;
using System.Security.Permissions;
namespace SecurityLibrary
{
[EnvironmentPermission(SecurityAction.LinkDemand, Read = "PATH")]
public class TypesWithLinkDemands
{
public virtual void UnsecuredMethod() {}
[EnvironmentPermission(SecurityAction.InheritanceDemand, Read = "PATH")]
public virtual void SecuredMethod() { }
}
}
次の例は、規則に違反している型を示しています。