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

# DeclarationBuilder

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

Inherits from `System.Object`

## Summary

Provides methods for constructing [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declaration.md) objects.

```csharp
public class DeclarationBuilder
```

## Remarks

To use this class, create an instance of it, and call the `With` -prefixed methods to set properties. When you're done, access the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) property to get the final, constructed [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declaration.md) .

## Methods

| Name                                                                                                                                                     | Description                                                                                                                                                                                                                                                   |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [WithDefaultValue(System.IConvertible)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withdefaultvalue.md) | Sets the [DefaultValue](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.defaultvalue.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .     |
| [WithDescription(string?)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withdescription.md)               | Sets the [Description](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.description.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .       |
| [WithImplicit(bool)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withimplicit.md)                        | Sets the [IsImplicit](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.isimplicit.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .         |
| [WithName(string)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withname.md)                              | Sets the [Name](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.name.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .                     |
| [WithRange(Yarn.Compiler.Range)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withrange.md)               | Sets the [Range](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.range.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .                   |
| [WithSourceFileName(string)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withsourcefilename.md)          | Sets the [SourceFileName](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcefilename.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) . |
| [WithSourceNodeName(string)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withsourcenodename.md)          | Sets the [SourceNodeName](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.sourcenodename.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) . |
| [WithType(IType)](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.withtype.md)                               | Sets the [Type](/api/csharp/yarn.compiler/yarn.compiler.declaration/yarn.compiler.declaration.type.md) of the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) .                     |

## Properties

| Name                                                                                                                      | Description                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) | Gets the [Declaration](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration.md) instance constructed by this [DeclarationBuilder](/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder.md) . |
