> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md).

# Declaration

Class in [Yarn.Compiler](/2.1/api/csharp/yarn.compiler.md)

Inherits from `System.Object`

## Summary

```csharp
public class Declaration
```

## Constructors

| Name                                                                                                        | Description |
| ----------------------------------------------------------------------------------------------------------- | ----------- |
| [Declaration()](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration..ctor.md) |             |

## Fields

| Name                                                                                                                            | Description                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ExternalDeclaration](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.externaldeclaration.md) | The string used for [SourceFileName](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefilename.md) if the Declaration was found outside of a Yarn source file. |

## Methods

| Name                                                                                                                                                         | Description                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateVariable(string,Yarn.IType,IConvertible,string)](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.createvariable.md) | Creates a new instance of the [Declaration](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md) class, using the given `name` and default value. The `ReturnType` of the new instance will be configured based on the type of `defaultValue` , and the `DeclarationType` will be `Type.Variable` . All other properties will be their default values. |
| [Equals(object)](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.equals.md)                                                |                                                                                                                                                                                                                                                                                                                                                               |
| [GetHashCode()](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.gethashcode.md)                                            |                                                                                                                                                                                                                                                                                                                                                               |
| [ToString()](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.tostring.md)                                                  |                                                                                                                                                                                                                                                                                                                                                               |

## Properties

| Name                                                                                                                  | Description                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DefaultValue](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.defaultvalue.md)     | Gets the default value of this [Declaration](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md) , if no value has been specified in code or is available from a [Dialogue](/2.1/api/csharp/yarn/yarn.dialogue.md) 's [IVariableStorage](/2.1/api/csharp/yarn/yarn.ivariablestorage.md) . |
| [Description](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.description.md)       | Gets a string describing the purpose of this [Declaration](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md) .                                                                                                                                                                          |
| [IsImplicit](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.isimplicit.md)         | Get or sets a value indicating whether this Declaration was implicitly inferred from usage.                                                                                                                                                                                                       |
| [Name](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.name.md)                     | Gets the name of this Declaration.                                                                                                                                                                                                                                                                |
| [SourceFileLine](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefileline.md) | The line number at which this Declaration was found in the source file.                                                                                                                                                                                                                           |
| [SourceFileName](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefilename.md) | Gets the name of the file in which this Declaration was found.                                                                                                                                                                                                                                    |
| [SourceNodeLine](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodeline.md) | Gets the line number at which this Declaration was found in the node indicated by [SourceNodeName](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodename.md) .                                                                                         |
| [SourceNodeName](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodename.md) | Gets the name of the node in which this Declaration was found.                                                                                                                                                                                                                                    |
| [Type](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.type.md)                     |                                                                                                                                                                                                                                                                                                   |
