# PowerShellVariableReferenceAnnotation<T> Methods

- Package: [CommunityToolkit.Aspire.Hosting.PowerShell](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell.md)
- Type: [PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md)
- Kind: `Methods`
- Members: `8`

Represents a PowerShell variable reference annotation.

## <Clone>$

- Name: `<Clone>$`
- Modifiers: `virtual`
- Returns: [PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md)

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public virtual PowerShellVariableReferenceAnnotation<T> <Clone>$()
    {
        // ...
    }
}
```

## Deconstruct(string, T)

- Name: `Deconstruct(string, T)`

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public void Deconstruct(
        out string Name,
        out T Value)
    {
        // ...
    }
}
```

## Parameters

- `Name` (`string`)
- `Value` (`T`)

## Equals(object?)

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

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

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    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`.

## Equals(PowerShellVariableReferenceAnnotation<T>)

- Name: `Equals(PowerShellVariableReferenceAnnotation<T>)`
- Modifiers: `virtual`
- Returns: `bool`

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

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public virtual bool Equals(
        PowerShellVariableReferenceAnnotation<T>? other)
    {
        // ...
    }
}
```

## Parameters

- `other` ([PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md))
  An object to compare with this object.

## Returns

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

## GetHashCode

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

Serves as the default hash function.

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public override int GetHashCode()
    {
        // ...
    }
}
```

## Returns

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

## op_Equality(PowerShellVariableReferenceAnnotation<T>, PowerShellVariableReferenceAnnotation<T>)

- Name: `op_Equality(PowerShellVariableReferenceAnnotation<T>, PowerShellVariableReferenceAnnotation<T>)`
- Modifiers: `static`
- Returns: `bool`

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public static bool operator ==(
        PowerShellVariableReferenceAnnotation<T>? left,
        PowerShellVariableReferenceAnnotation<T>? right)
    {
        // ...
    }
}
```

## Parameters

- `left` ([PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md))
- `right` ([PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md))

## op_Inequality(PowerShellVariableReferenceAnnotation<T>, PowerShellVariableReferenceAnnotation<T>)

- Name: `op_Inequality(PowerShellVariableReferenceAnnotation<T>, PowerShellVariableReferenceAnnotation<T>)`
- Modifiers: `static`
- Returns: `bool`

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public static bool operator !=(
        PowerShellVariableReferenceAnnotation<T>? left,
        PowerShellVariableReferenceAnnotation<T>? right)
    {
        // ...
    }
}
```

## Parameters

- `left` ([PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md))
- `right` ([PowerShellVariableReferenceAnnotation<T>](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellvariablereferenceannotation-1.md))

## ToString

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

Returns a string that represents the current object.

```csharp
public record PowerShellVariableReferenceAnnotation<T>
{
    public override string ToString()
    {
        // ...
    }
}
```

## Returns

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