# IRule interface

Namespace: [Grasshopper2.Data.Rules](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.data.rules.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface IRule
```

Interface for individual pattern rules.

**Derived types:** [RuleAnyNumber](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.ruleanynumber.md), [RuleAnyNumbers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.ruleanynumbers.md), [RuleChain](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulechain.md), [RuleGroup](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulegroup.md), [RuleNegate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulenegate.md), [RuleNumber](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulenumber.md), [RuleRange](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulerange.md), [RuleSequence](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.rulesequence.md)

## Properties

- [Notation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.irule/notation.md): Gets the string notation/representation for this type.

## Methods

- [Apply](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.rules.irule/apply.md): Applies this type to an integer.
