C #: классы в папки - PullRequest
6 голосов
/ 28 мая 2011

Я хочу организовать свое решение путем добавления папок и организации классов в них
как получить доступ к этим классам, как я пытался получить к ним доступ, но не могу
папки выглядят как пакеты в java

Ответы [ 3 ]

15 голосов
/ 28 мая 2011

Когда вы создаете папку в проекте Visual C #, она обычно создает пространство имен для элементов, созданных в этой папке. Вам нужно добавить оператор using blah.foldername в файл c #, где вы пытаетесь использовать элементы из папки, или вы можете отредактировать файл в папке, чтобы использовать namespace blah вместо namespace blah.folder.

8 голосов
/ 28 мая 2011

Visual Studio имитирует иерархию вашего проекта на жестком диске.Когда вы добавляете папку решения в Visual Studio, она создает папку real в каталоге вашего проекта.Любые новые проекты или исходные файлы, которые вы добавляете в папку решения в Visual Studio, по умолчанию будут находиться в этом каталоге.Кроме того, , и это становится основой вашего вопроса , когда вы добавляете файл C #, т.е. класс, в папку решения, Visual Studio помещает его в sub -имя пространстваваш проект.

Например, если ваш проект называется MyProject , пространство имен по умолчанию будет MyProject .Если вы добавите папку решения в MyProject с именем MyFolder , любые новые файлы, т.е. классы, добавленные в эту папку из Visual Studio, будут иметь пространство имен по умолчанию MyProject.MyFolder.Таким образом, чтобы классы в пространстве имен MyProject могли ссылаться на классы в пространстве имен MyProject.MyFolder , необходимо либо полностью указать имя класса, например, MyProject.MyFolder.MyClass или включить оператор using MyProject.MyFolder; в верхней части файла, где используется класс.

7 голосов
/ 28 мая 2011

Если вы спрашиваете о папках решения, они не переводятся в полученный код. Они просто способ организовать ваши проекты.

Если вы создаете в своем проекте папки для отдельных файлов кода, то традиционно у нас было бы пространство имен, представляющее иерархическую структуру решения / проекта.

Тогда вы просто включаете пространства имен, как обычно.

Это отвечает на ваш вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...