Compiler Error CS8803
Top-level statements must precede namespace and type declarations.
Example
The following sample generates CS8803:
// CS8803.cs (0,0)
public record Person
{
public string? GivenName { get; set; }
public string? FamilyName { get; set; }
}
int i = 0;
In a file with top-level statements, top-level statements must occur prior to any type declarations.
To correct this error
Move the code before the namespace declaration:
int i = 0;
public record Person
{
public string? GivenName { get; set; }
public string? FamilyName { get; set; }
}
It is common that types are declared within their own file, which would also correct this error by separating the type declaration from the top-level statements.
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.