> 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.4/api/csharp/yarn.compiler/yarn.compiler.declaration.md).

# Declaration

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

Inherits from `System.Object`

## Summary

Represents a variable declaration

```csharp
public class Declaration
```

## Fields

| Name                                                                                                                            | Description                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ExternalDeclaration](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.externaldeclaration.md) | The string used for [SourceFileName](/2.4/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.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.createvariable.md) | Creates a new instance of the [Declaration](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration.md) class, using the given name, type and default value. |
| [Equals(object)](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.equals.md)                                                |                                                                                                                                                              |
| [GetHashCode()](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.gethashcode.md)                                            |                                                                                                                                                              |
| [ToString()](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.tostring.md)                                                  |                                                                                                                                                              |

## Properties

| Name                                                                                                                  | Description                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DefaultValue](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.defaultvalue.md)     | Gets the default value of this [Declaration](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration.md) , if no value has been specified in code or is available from a [Dialogue](/2.4/api/csharp/yarn/yarn.dialogue.md) 's [IVariableStorage](/2.4/api/csharp/yarn/yarn.ivariablestorage.md) . |
| [Description](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.description.md)       | Gets a string describing the purpose of this [Declaration](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration.md) .                                                                                                                                                                          |
| [IsImplicit](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.isimplicit.md)         | Gets a value indicating whether get or sets a value indicating whether this Declaration was implicitly inferred from usage.                                                                                                                                                                       |
| [IsVariable](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.isvariable.md)         | Gets a value indicating whether this Declaration represents a variable.                                                                                                                                                                                                                           |
| [Name](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.name.md)                     | Gets the name of this Declaration.                                                                                                                                                                                                                                                                |
| [Range](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.range.md)                   | Gets the range of text at which this declaration occurs.                                                                                                                                                                                                                                          |
| [SourceFileLine](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefileline.md) | Gets the line number at which this Declaration was found in the source file.                                                                                                                                                                                                                      |
| [SourceFileName](/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefilename.md) | Gets the name of the file in which this Declaration was found.                                                                                                                                                                                                                                    |
| [SourceNodeName](/2.4/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.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.type.md)                     | Gets the type of the variable, as represented by an object that implements [IType](/2.4/api/csharp/yarn/yarn.itype.md) .                                                                                                                                                                          |
