# ReferenceExpressionBuilder

- Kind: `class`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting.ApplicationModel`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/ApplicationModel/ReferenceExpression.cs)

A builder for creating [ReferenceExpression](/reference/api/csharp/aspire.hosting/referenceexpression.md) instances.

## Definition

```csharp
namespace Aspire.Hosting.ApplicationModel;

public class ReferenceExpressionBuilder
{
    // ...
}
```

## ATS metadata

### ATS export

- Type ID: `Aspire.Hosting/ReferenceExpressionBuilder`
- Public instance properties are exported as ATS capabilities.

## Constructors

- [ReferenceExpressionBuilder](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/constructors.md#constructor)

## Properties

- [IsEmpty](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/properties.md#isempty) : `bool` `get` -- Indicates whether the expression is empty.

## Methods

- [Append(ReferenceExpressionBuilderInterpolatedStringHandler)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#append-referenceexpressionbuilderinterpolatedstringhandler) -- Appends an interpolated string to the expression.
- [AppendFormatted(string?)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendformatted-string) -- Appends a formatted value to the expression.
- [AppendFormatted(string?, string?)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendformatted-string-string) `ats export` -- Appends a formatted value to the expression.
- [AppendFormatted(T)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendformatted-t) -- Appends a formatted value to the expression. The value must implement [IValueProvider](/reference/api/csharp/aspire.hosting/ivalueprovider.md) and [IManifestExpressionProvider](/reference/api/csharp/aspire.hosting/imanifestexpressionprovider.md).
- [AppendFormatted(ReferenceExpression, string)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendformatted-referenceexpression-string) `obsolete` -- Appends the formatted value provided by the specified reference expression to the output.
- [AppendFormatted(T, string?)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendformatted-t-string) -- Appends a formatted value to the expression. The value must implement [IValueProvider](/reference/api/csharp/aspire.hosting/ivalueprovider.md) and [IManifestExpressionProvider](/reference/api/csharp/aspire.hosting/imanifestexpressionprovider.md).
- [AppendLiteral(string)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendliteral-string) `ats export` -- Appends a literal value to the expression.
- [AppendValueProvider(object, string?)](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#appendvalueprovider-object-string) `ats export` -- Appends a value provider to the expression using late binding. The object must implement both [IValueProvider](/reference/api/csharp/aspire.hosting/ivalueprovider.md) and [IManifestExpressionProvider](/reference/api/csharp/aspire.hosting/imanifestexpressionprovider.md), or be an `ApplicationModel.IResourceBuilder`1` where T implements both interfaces.
- [Build](/reference/api/csharp/aspire.hosting/referenceexpressionbuilder/methods.md#build) : [ReferenceExpression](/reference/api/csharp/aspire.hosting/referenceexpression.md) `ats export` -- Builds the [ReferenceExpression](/reference/api/csharp/aspire.hosting/referenceexpression.md).

## Nested Types

- [ReferenceExpressionBuilderInterpolatedStringHandler](/reference/api/csharp/aspire.hosting/referenceexpressionbuilderinterpolatedstringhandler.md) -- Represents a handler for interpolated strings that contain expressions. Those expressions will either be literal strings or instances of types that implement both [IValueProvider](/reference/api/csharp/aspire.hosting/ivalueprovider.md) and [IManifestExpressionProvider](/reference/api/csharp/aspire.hosting/imanifestexpressionprovider.md).
