# Class AttachmentDto | EchoHub Documentation
A file attached to a message. holds the color-tag art for images (null otherwise). For end-to-end encrypted channels the content behind and the preview are ciphertext the server cannot read.

# Class AttachmentDto

Namespace
  EchoHub.Core.DTOs

Assembly
  EchoHub.Core.dll

A file attached to a message. AsciiPreview holds the color-tag art for images (null otherwise). For end-to-end encrypted channels the content behind Url and the preview are ciphertext the server cannot read.

    public record AttachmentDto : IEquatable<AttachmentDto>

Inheritance
  object
  AttachmentDto

Implements
  IEquatable<AttachmentDto>

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

## Constructors

### AttachmentDto(AttachmentDto)

    protected AttachmentDto(AttachmentDto original)

#### Parameters

`original` AttachmentDto

### AttachmentDto(AttachmentKind, string, string, long, string?)

A file attached to a message. AsciiPreview holds the color-tag art for images (null otherwise). For end-to-end encrypted channels the content behind Url and the preview are ciphertext the server cannot read.

    public AttachmentDto(AttachmentKind Kind, string Url, string FileName, long FileSize, string? AsciiPreview = null)

#### Parameters

`Kind` AttachmentKind
`Url` string
`FileName` string
`FileSize` long
`AsciiPreview` string

## Properties

### AsciiPreview

    public string? AsciiPreview { get; init; }

#### Property Value

string

### EqualityContract

    protected virtual Type EqualityContract { get; }

#### Property Value

Type

### FileName

    public string FileName { get; init; }

#### Property Value

string

### FileSize

    public long FileSize { get; init; }

#### Property Value

long

### Kind

    public AttachmentKind Kind { get; init; }

#### Property Value

AttachmentKind

### Url

    public string Url { get; init; }

#### Property Value

string

## Methods

### Deconstruct(out AttachmentKind, out string, out string, out long, out string?)

    public void Deconstruct(out AttachmentKind Kind, out string Url, out string FileName, out long FileSize, out string? AsciiPreview)

#### Parameters

`Kind` AttachmentKind
`Url` string
`FileName` string
`FileSize` long
`AsciiPreview` string

### Equals(AttachmentDto?)

    public virtual bool Equals(AttachmentDto? other)

#### Parameters

`other` AttachmentDto

#### 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 ==(AttachmentDto?, AttachmentDto?)

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

#### Parameters

`left` AttachmentDto
`right` AttachmentDto

#### Returns

bool

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

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

#### Parameters

`left` AttachmentDto
`right` AttachmentDto

#### Returns

bool