# Library

Class in [Yarn](https://docs.yarnspinner.dev/2.0/api/csharp/yarn)

Inherits from `System.Object`

## Summary

A collection of functions that can be called from Yarn programs.

```csharp
public class Library
```

## Remarks

You do not create instances of this class yourself. The [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.dialogue) class creates one of its own, which you can access via the [Library](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.dialogue/yarn.dialogue.library) property.

## Methods

| Name                                                                                                                                                         | Description                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| [DeregisterFunction(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.deregisterfunction)                                  | Removes a function from the Library.                                                                                                             |
| [FunctionExists(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.functionexists)                                          | Gets a value indicating whether this [Library](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library) contains a function named `name` . |
| [GetFunction(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.getfunction)                                                | Returns a `System.Delegate` with a given name.                                                                                                   |
| [ImportLibrary(Library)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.importlibrary)                                           | Loads functions from another [Library](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library) .                                          |
| [RegisterFunction(string,Delegate)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-7)                           | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-1)                               | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func\<T1, TResult>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-2)                 | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func\<T1, T2, TResult>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-3)             | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func\<T1, T2, T3, TResult>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-4)         | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func\<T1, T2, T3, T4, TResult>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-5)     | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |
| [RegisterFunction(string,Func\<T1, T2, T3, T4, T5, TResult>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.library/yarn.library.registerfunction-6) | Registers a new function that returns a value, which can be called from a Yarn program.                                                          |

## See Also

* [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.dialogue): Co-ordinates the execution of Yarn programs.
