# Function Class

> A function is a process.

- Product: Adobe PDF Library 18
- Language: .NET
- Version: APDFL18.0.5PlusP2e
- HTML page: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function
- Version index: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms.txt

```csharp
class Function : SystemIDisposable
```

**Namespace:** `Datalogics::PDFL`

**Inherits from:** `SystemIDisposable`

**Derived classes:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md)

## Description

A function is a process.

A function takes input values and manipulates them to create output values.

**Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)

**Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)

## Properties

### Default

```csharp
static Function Datalogics.PDFL.Function.Default { get; }
```

*static*

A Function representing the Default named function.

### Domain

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.Function.Domain { get; set; }
```

### Identity

```csharp
static Function Datalogics.PDFL.Function.Identity { get; }
```

*static*

A Function representing the Identity named function, which returns its input values unchanged.

### NInputs

```csharp
int Datalogics.PDFL.Function.NInputs { get; }
```

### NOutputs

```csharp
int Datalogics.PDFL.Function.NOutputs { get; }
```

### Range

```csharp
System.Collections.Generic.IList<System.Double> Datalogics.PDFL.Function.Range { get; set; }
```

## Methods

### Apply

```csharp
virtual System.Collections.Generic.IList< System.Double > Datalogics.PDFL.Function.Apply(System.Collections.Generic.IList< System.Double > args)
```

**Parameters**

- `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes.

**Returns:** `System.Collections.Generic.IList< System.Double >`

a list of the result values from the function

Apply the function to supplied input values

### Dispose

```csharp
void Datalogics.PDFL.Function.Dispose()
```

**Returns:** `void`

### ToString

```csharp
override string Datalogics.PDFL.Function.ToString()
```

**Returns:** `override string`

A string representation of the function.

Convert the function to a displayable string.

### operator!=

```csharp
static bool Datalogics.PDFL.Function.operator!=(Function a, Function b)
```

*static*

**Parameters**

- `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare.
- `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare.

**Returns:** `bool`

true if the two Functions are not equal; otherwise, false.

Tests two Function objects for inequality.

### operator==

```csharp
static bool Datalogics.PDFL.Function.operator==(Function a, Function b)
```

*static*

**Parameters**

- `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare.
- `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare.

**Returns:** `bool`

true if the two Functions are equal; otherwise, false.

Tests two Function objects for equality.
