# ChainFunction class

Namespace: [Grasshopper2.Types.Functions.Standard](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.types.functions.standard.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
[IoId("00000000-de7d-4214-bb7f-02bc8befd3ea")]
public sealed class ChainFunction : FunctionFG<Function, Function>
```

It's a function inside another function.

## Constructors

- [ChainFunction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/ctor.md): (3 overloads)

## Properties

- [Notation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/notation.md)
- [Ui](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/ui.md)

## Methods

- [DomainEstimate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/domainestimate.md)
- [EmitDerivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/emitderivative.md)
- [Holes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/holes.md): Only the inner function's features live in this function's x space, so only those are relayed - the binary base's union would report the outer function's poles at x coordinates that mean nothing here. The outer function's features are real, but they land wherever the inner function reaches them, which means inverting the inner function. Nothing is claimed about them rather than something wrong.
- [Poles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/poles.md): Only the inner function's features live in this function's x space, so only those are relayed - the binary base's union would report the outer function's poles at x coordinates that mean nothing here. The outer function's features are real, but they land wherever the inner function reaches them, which means inverting the inner function. Nothing is claimed about them rather than something wrong.
- [Y](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.chainfunction/y.md)

## Inherited Members

- From [FunctionFG<T1, T2>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2.md): [G](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/g.md), [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionfg-2/store.md)
- From [FunctionF<T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionf-1.md): [F](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionf-1/f.md)
- From [FunctionWithCaching](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching.md): [Derivative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/derivative.md), [Integral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/integral.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/nomen.md), [EmitIntegral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.functionwithcaching/emitintegral.md)
- From [Function](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function.md): [Asymptotes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/asymptotes.md), [AutoCoDomain](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/autocodomain.md), [Integrate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/integrate.md), [YYYY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function/yyyy.md)
