Прочитать на английском

Поделиться через


Ошибка компилятора CS8803

Инструкции верхнего уровня должны предшествовать объявлениям пространства имен и типов.

Пример

Следующий пример приводит к возникновению ошибки CS8803:

// CS8803.cs (0,0)

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

int i = 0;

В файле с операторами верхнего уровня операторы верхнего уровня должны выполняться до любых объявлений типов.

Исправление ошибки

Переместите код перед объявлением пространства имен:


int i = 0;

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

Обычно типы объявляются в собственном файле, что также исправляет эту ошибку, разделив объявление типа от операторов верхнего уровня.