подскажите как хранить программу C# в Visul studio по разным файлам(ООП каждый класс в отдельном файле). И как избежать проблемы(если такие будут) при компиляции одной программы в один файл .exe? То есть как создать файл в этой же директории(отдельный класс). Нужно ли будет в каждой файле подключать классы которые нужны? (Можно ли вынести это в отдельный файл и подключать его).
1 Answers
Скомпилирую свои комменты в ответ.
Создайте проект в Visual Studio, добавляйте в него сколько угодно файлов, проект соберется в один исполняемый модуль (exe файл например). Чтобы разбить решение по сборкам (dll), нужно на каждую библиотеку создавать отдельный проект.
1 файл - 1 класс. На собранный проект разбитие C# кода на файлы никак не влияет. Я вообще недоумеваю, откуда ваш вопрос взялся, ведь проблемы, о которой вы пишете, на самом деле нет. Нужен конкретный пример, как ее воспроизвести. Ведь чтобы что-то исправить - надо видеть, что сломалось.
С помощью using подключаются не файлы, а неймспейсы. В одном неймспейсе может быть много классов, а при условии "1 файл - 1 класс", следует, что в 1 неймспейсе может быть много файлов. Это нормально. Ну вы попробуйте, поэкспериментируйте, нормально оно работает.
Если речь про WPF - начните копать в сторону шаблона проектирования MVVM. Там будет очень много ответов на вопросы о структуре приложения.
Материалы по теме
- 49,560
-
Всё оказалось, ещё проще, просто создаешь новый элемент -> Класс. И он сам всё прописывает, Visual studio классная штука, причем класса задаётся как internal – artemgh Nov 09 '21 at 13:48
-
Тем не менее огромное спасибо, за MVVM. На хабре пару статей нашёл, полезно для понимания незнакомого инструмента – artemgh Nov 09 '21 at 13:49
-
@artemgh я про это и говорил, что там париться не надо об этом вопросе. А мощь WPF - да, раскрывается когда въезжаешь в смысл привязок данных и MVVM. Хотя-бы вот пример. – aepot Nov 09 '21 at 13:53
-
просто после написания кода в Sublime text и запуске его потом вручную, отвыкаешь надеяться на IDE) – artemgh Nov 09 '21 at 13:56
using namespace_вашего_файла. После компиляции программы через VS в папкеbin\debugбудетВашПроектНейм.exeфайл, который вы и можете запускать (если необходимы какие-либо dll для работы с файлом, они так же будут лежать в одной директории) – Aarnihauta Nov 09 '21 at 08:33лишний геморой?А как вы предлагаете? хранить все классы в одном файле? – artemgh Nov 09 '21 at 08:33Using clasname. Хотелось всё зависимости вынести ещё в один отдельный файл, а потом этот файл подключать в начале каждого файла – artemgh Nov 09 '21 at 08:35+в шарпе, а не через.:) – aepot Nov 09 '21 at 08:41тогда сразу скажу, что конкатенация строк через + в шарпе, а не через . :). Ахаха, да спасибо, хотя для меня всегда было "+" и это было вопросом при переходе на PHP) – artemgh Nov 09 '21 at 08:43