# DeclarationBuilder

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

Inherits from `System.Object`

## Summary

Provides methods for constructing [Declaration](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declaration) 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](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration) property to get the final, constructed [Declaration](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declaration) .

## Methods

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

## Properties

| Name                                                                                                                                                   | Description                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Declaration](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration) | Gets the [Declaration](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder/yarn.compiler.declarationbuilder.declaration) instance constructed by this [DeclarationBuilder](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.compiler/yarn.compiler.declarationbuilder) . |
