Skip to content

Gendarme.Rules.Security.Cas.AddMissingTypeInheritanceDemandRule(git)

Sebastien Pouliot edited this page Mar 2, 2011 · 1 revision

AddMissingTypeInheritanceDemandRule

Assembly: Gendarme.Rules.Security.Cas
Version: git

Description

The rule checks for types that are not sealed but have a LinkDemand. In this case the type should also have an InheritanceDemand for the same permissions. An alternative is to seal the type.

Examples

Bad example:

[SecurityPermission (SecurityAction.LinkDemand, ControlThread = true)]
public class Bad {
}

Good example (InheritanceDemand):

[SecurityPermission (SecurityAction.LinkDemand, ControlThread = true)]
[SecurityPermission (SecurityAction.InheritanceDemand, ControlThread = true)]
public class Correct {
}

Good example (sealed):

[SecurityPermission (SecurityAction.LinkDemand, ControlThread = true)]
public sealed class Correct {
}

Notes

  • Before Gendarme 2.2 this rule was part of Gendarme.Rules.Security and named TypeLinkDemandRule.

Source code

You can browse the latest source code of this rule on github.com

Clone this wiki locally