# Declaration

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

Inherits from `System.Object`

## Summary

```csharp
public class Declaration
```

## Constructors

| Name                                                                                                                                 | Description |
| ------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| [Declaration()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration..ctor) |             |

## Fields

| Name                                                                                                                                                     | Description                                                                                                                                                                                                                    |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [ExternalDeclaration](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.externaldeclaration) | The string used for [SourceFileName](https://docs.yarnspinner.dev/2.0/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.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.createvariable) | Creates a new instance of the [Declaration](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration) 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)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.equals)                                                |                                                                                                                                                                                                                                                                                                                                                                                        |
| [GetHashCode()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.gethashcode)                                            |                                                                                                                                                                                                                                                                                                                                                                                        |
| [ToString()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.tostring)                                                  |                                                                                                                                                                                                                                                                                                                                                                                        |

## Properties

| Name                                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                  |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DefaultValue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.defaultvalue)     | Gets the default value of this [Declaration](https://docs.yarnspinner.dev/2.0/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.0/api/csharp/yarn/yarn.dialogue) 's [IVariableStorage](https://docs.yarnspinner.dev/2.0/api/csharp/yarn/yarn.ivariablestorage) . |
| [Description](https://docs.yarnspinner.dev/2.0/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.0/api/csharp/yarn.compiler/yarn.compiler.declaration) .                                                                                                                                                                                                                            |
| [IsImplicit](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.isimplicit)         | Get or sets a value indicating whether this Declaration was implicitly inferred from usage.                                                                                                                                                                                                                                                                                  |
| [Name](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.name)                     | Gets the name of this Declaration.                                                                                                                                                                                                                                                                                                                                           |
| [SourceFileLine](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefileline) | The line number at which this Declaration was found in the source file.                                                                                                                                                                                                                                                                                                      |
| [SourceFileName](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefilename) | Gets the name of the file in which this Declaration was found.                                                                                                                                                                                                                                                                                                               |
| [SourceNodeLine](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodeline) | Gets the line number at which this Declaration was found in the node indicated by [SourceNodeName](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodename) .                                                                                                                                           |
| [SourceNodeName](https://docs.yarnspinner.dev/2.0/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.0/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.type)                     |                                                                                                                                                                                                                                                                                                                                                                              |
