# ConnectionStringEnvironmentVariableNames Methods

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ConnectionStringEnvironmentVariableNames](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md)
- Kind: `Methods`
- Members: `10`

Describes the logical and physical names used for a connection-string reference.

<a id="clone"></a>

## <Clone>$

- Name: `<Clone>$`
- Returns: [ConnectionStringEnvironmentVariableNames](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md)

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public ConnectionStringEnvironmentVariableNames <Clone>$()
    {
        // ...
    }
}
```

<a id="create"></a>
<a id="create-iresourcewithconnectionstring-string"></a>

## Create(IResourceWithConnectionString, string)

- Name: `Create(IResourceWithConnectionString, string)`
- Modifiers: `static`
- Returns: [ConnectionStringEnvironmentVariableNames](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs#L67-L79)

Creates the logical and physical environment-variable names for a connection-string reference.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public static ConnectionStringEnvironmentVariableNames Create(
        IResourceWithConnectionString resource,
        string logicalName)
    {
        // ...
    }
}
```

## Parameters

- `resource` ([IResourceWithConnectionString](/reference/api/csharp/aspire.hosting/iresourcewithconnectionstring.md))
  The referenced resource.
- `logicalName` (`string`)
  The logical connection name.

## Returns

[ConnectionStringEnvironmentVariableNames](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md) -- The logical and physical environment-variable names.

<a id="deconstruct"></a>
<a id="deconstruct-string-string-string-bool"></a>

## Deconstruct(string, string, string, bool)

- Name: `Deconstruct(string, string, string, bool)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs#L53-L57)

Deconstructs the logical and physical names for a connection-string reference.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public void Deconstruct(
        out string LogicalName,
        out string OriginalName,
        out string PortableName,
        out bool IsExplicit)
    {
        // ...
    }
}
```

## Parameters

- `LogicalName` (`string`)
  The logical connection name used by application configuration.
- `OriginalName` (`string`)
  The original environment-variable name derived directly from the logical name.
- `PortableName` (`string`)
  The portable environment-variable name.
- `IsExplicit` (`bool`)
  Whether the physical environment-variable name was explicitly supplied by the source resource.

<a id="equals"></a>
<a id="equals-object"></a>

## Equals(object?)

- Name: `Equals(object?)`
- Modifiers: `override`
- Returns: `bool`

Determines whether the specified object is equal to the current object.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public override bool Equals(
        object? obj)
    {
        // ...
    }
}
```

## Parameters

- `obj` (`object?`)
  The object to compare with the current object.

## Returns

`bool` -- `true` if the specified object is equal to the current object; otherwise, `false`.

<a id="equals-connectionstringenvironmentvariablenames"></a>

## Equals(ConnectionStringEnvironmentVariableNames?)

- Name: `Equals(ConnectionStringEnvironmentVariableNames?)`
- Returns: `bool`

Indicates whether the current object is equal to another object of the same type.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public bool Equals(
        ConnectionStringEnvironmentVariableNames? other)
    {
        // ...
    }
}
```

## Parameters

- `other` ([ConnectionStringEnvironmentVariableNames?](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md))
  An object to compare with this object.

## Returns

`bool` -- `true` if the current object is equal to the `other` parameter; otherwise, `false`.

<a id="gethashcode"></a>

## GetHashCode

- Name: `GetHashCode`
- Modifiers: `override`
- Returns: `int`

Serves as the default hash function.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public override int GetHashCode()
    {
        // ...
    }
}
```

## Returns

`int` -- A hash code for the current object.

<a id="getphysicalnames"></a>

## GetPhysicalNames

- Name: `GetPhysicalNames`
- Returns: `IEnumerable<string>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting/ApplicationModel/ConnectionStringEnvironmentVariableNames.cs#L88-L94)

Enumerates the distinct physical environment-variable names represented by this value.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public IEnumerable<string> GetPhysicalNames()
    {
        // ...
    }
}
```

## Returns

`IEnumerable<string>` -- The physical environment-variable names.

<a id="op-equality"></a>
<a id="op-equality-connectionstringenvironmentvariablenames-connectionstringenvironmentvariablenames"></a>

## op_Equality(ConnectionStringEnvironmentVariableNames?, ConnectionStringEnvironmentVariableNames?)

- Name: `op_Equality(ConnectionStringEnvironmentVariableNames?, ConnectionStringEnvironmentVariableNames?)`
- Modifiers: `static`
- Returns: `bool`

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public static bool operator ==(
        ConnectionStringEnvironmentVariableNames? left,
        ConnectionStringEnvironmentVariableNames? right)
    {
        // ...
    }
}
```

## Parameters

- `left` ([ConnectionStringEnvironmentVariableNames?](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md))
- `right` ([ConnectionStringEnvironmentVariableNames?](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md))

<a id="op-inequality"></a>
<a id="op-inequality-connectionstringenvironmentvariablenames-connectionstringenvironmentvariablenames"></a>

## op_Inequality(ConnectionStringEnvironmentVariableNames?, ConnectionStringEnvironmentVariableNames?)

- Name: `op_Inequality(ConnectionStringEnvironmentVariableNames?, ConnectionStringEnvironmentVariableNames?)`
- Modifiers: `static`
- Returns: `bool`

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public static bool operator !=(
        ConnectionStringEnvironmentVariableNames? left,
        ConnectionStringEnvironmentVariableNames? right)
    {
        // ...
    }
}
```

## Parameters

- `left` ([ConnectionStringEnvironmentVariableNames?](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md))
- `right` ([ConnectionStringEnvironmentVariableNames?](/reference/api/csharp/aspire.hosting/connectionstringenvironmentvariablenames.md))

<a id="tostring"></a>

## ToString

- Name: `ToString`
- Modifiers: `override`
- Returns: `string`

Returns a string that represents the current object.

```csharp
public record ConnectionStringEnvironmentVariableNames
{
    public override string ToString()
    {
        // ...
    }
}
```

## Returns

`string` -- A string that represents the current object.
