Как организовать код C# в разных файлах без графического интерфейса?

#c# #mono

Вопрос:

Я новичок в C# и должен разработать некоторый код на C# под Linux. До сих пор я мог работать со всем этим в одном файле, просто используя две команды mcs и mono, без какого-либо графического интерфейса. И, если возможно, я бы хотел избежать графического интерфейса.

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

Допустим, у меня есть такой код

 public class SpecialVector
{
// some code 
}
 

в каком-то специальном файле.cs. Как я могу использовать SpecialVector в каком-либо другом файле, скажем, normal.cs? (Кстати, как вы называете код, сгруппированный в файле на C#?)

Извините, если этот вопрос уже был задан, но я не знаю, как его исказить, чтобы поисковая система поняла мою проблему…

Комментарии:

1. docs.microsoft.com/en-us/dotnet/core/porting/project-structure

2. «Код C# под Linux» сегодня является .NET Core, а не Mono, так что, как новичок, не тратьте свое время впустую.

3. @T. S. thx, но это не помогает мне технически. Насколько я могу понять, это весело объясняет, что это возможно, а не то, как создаются файлы .csproj , packages.config amp; и .sln

4. Переход на .NET Core поможет вам сделать именно это, поскольку он предоставляет такие команды, как dotnet new создание таких файлов для вас. Однако, если вы по какой-то причине ограничены использованием Mono (и, по-видимому, это очень старая версия, так как сегодня используется Mono csc ), загляните на справочную страницу для mcs . По сути, вы просто указываете все файлы, которые хотите скомпилировать, в командной строке, разделенные пробелами: mcs File1.cs File2.cs (и так далее)

5. Спасибо @VisualVincent ! решение с mcs на данный момент достаточно хорошо. Я посмотрю позже, установлю ли я dotnet или нет

Ответ №1:

Как уже упоминалось в комментариях, если вы не ограничены Mono по какой-либо конкретной причине, вам настоятельно рекомендуется переключиться на .NET Core (теперь называется .NET с версии 5). Он имеет встроенную поддержку как для Windows, Mac, так и для Linux и поставляется с инструментами командной строки, которые позволяют создавать и создавать целые многофайловые проекты в одной команде без необходимости указывать каждый отдельный файл вручную.

При этом, если вы продолжите использовать Mono, вы можете указать компилятору несколько файлов следующим образом:

 mcs File1.cs File2.cs
 

(и так далее)

Взгляните на справочную страницу для mcs получения дополнительной информации.