# Class ChatSegment | EchoHub Documentation
A colored text segment within a chat line.

# Class ChatSegment

Namespace
  EchoHub.Client.UI.Chat

Assembly
  EchoHub.Client.dll

A colored text segment within a chat line.

    public record ChatSegment : IEquatable<ChatSegment>

Inheritance
  object
  ChatSegment

Implements
  IEquatable<ChatSegment>

Inherited Members
  object.GetType()
  object.MemberwiseClone()
  object.Equals(object, object)
  object.ReferenceEquals(object, object)

## Constructors

### ChatSegment(ChatSegment)

    protected ChatSegment(ChatSegment original)

#### Parameters

`original` ChatSegment

### ChatSegment(string, Attribute?)

A colored text segment within a chat line.

    public ChatSegment(string Text, Attribute? Color)

#### Parameters

`Text` string
`Color` Attribute?

## Properties

### Color

    public Attribute? Color { get; init; }

#### Property Value

Attribute?

### EqualityContract

    protected virtual Type EqualityContract { get; }

#### Property Value

Type

### Text

    public string Text { get; init; }

#### Property Value

string

## Methods

### Deconstruct(out string, out Attribute?)

    public void Deconstruct(out string Text, out Attribute? Color)

#### Parameters

`Text` string
`Color` Attribute?

### Equals(ChatSegment?)

    public virtual bool Equals(ChatSegment? other)

#### Parameters

`other` ChatSegment

#### Returns

bool

### Equals(object?)

    public override bool Equals(object? obj)

#### Parameters

`obj` object

#### Returns

bool

### GetHashCode()

    public override int GetHashCode()

#### Returns

int

### PrintMembers(StringBuilder)

    protected virtual bool PrintMembers(StringBuilder builder)

#### Parameters

`builder` StringBuilder

#### Returns

bool

### ToString()

    public override string ToString()

#### Returns

string

## Operators

### operator ==(ChatSegment?, ChatSegment?)

    public static bool operator ==(ChatSegment? left, ChatSegment? right)

#### Parameters

`left` ChatSegment
`right` ChatSegment

#### Returns

bool

### operator !=(ChatSegment?, ChatSegment?)

    public static bool operator !=(ChatSegment? left, ChatSegment? right)

#### Parameters

`left` ChatSegment
`right` ChatSegment

#### Returns

bool