# Declaration

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

Inherits from `System.Object`

## Summary

Represents a variable declaration

```csharp
public class Declaration
```

## Fields

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

## Methods

| Name                                                                                                                                                                                  | Description                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateVariable(string,Yarn.IType,IConvertible,string)](https://docs.yarnspinner.dev/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.createvariable) | Creates a new instance of the [Declaration](https://docs.yarnspinner.dev/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration) class, using the given name, type and default value. |
| [Equals(object)](https://docs.yarnspinner.dev/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.equals)                                                |                                                                                                                                                                                       |
| [GetHashCode()](https://docs.yarnspinner.dev/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.gethashcode)                                            |                                                                                                                                                                                       |
| [ToString()](https://docs.yarnspinner.dev/2.4/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.tostring)                                                  |                                                                                                                                                                                       |

## Properties

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