CS.SV.LINK_DEMAND.INHERITANCE
Type link demands require inheritance demands.
A link demand on a method or its declaring type requires the immediate caller of the method to have the specified permission. An inheritance demand on a method requires an overriding method to have the specified permission. An inheritance demand on a type requires a deriving class to have the specified permission.
Mitigation and prevention
To fix a violation of this rule, secure the type or the method with an inheritance demand for the same permission as the link demand.
Vulnerable code example
Copy
                                                    
                                                
                                                  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() { }
    }
 }The following example shows a type that violates the rule.