Compartilhar via


Erro do compilador CS8803

As instruções de nível superior precisam preceder as declarações de namespace e de tipo.

Exemplo

O seguinte exemplo gera o erro CS8803:

// CS8803.cs (0,0)

public record Person
{
    public string? GivenName { get; set; }
    public string? FamilyName { get; set; }
}

int i = 0;

Em um arquivo com instruções de nível superior, as instruções de nível superior devem ocorrer antes de qualquer declaração de tipo.

Para corrigir este erro

Mova o código antes da declaração de namespace:


int i = 0;

public record Person
{
    public string? GivenName { get; set; }
    public string? FamilyName { get; set; }
}

É comum que os tipos sejam declarados no próprio arquivo, o que também corrigiria esse erro separando a declaração de tipo das instruções de nível superior.