Создание объектов из другого слоя

#c#

#c#

Вопрос:

Я пытаюсь разработать приложение для моего проекта последнего года. В настоящее время у меня есть уровень представления, где у меня есть пользовательский интерфейс, такой как формы. Теперь я пошел дальше и добавил библиотеку классов в проект и добавил класс Employee в новый проект.

Теперь, когда я пытаюсь создать объект

 Employee emp = new Employee();
  

c # возвращает ошибку, в которой говорится, что мне не хватает некоторых пробелов в именах или типа и т.д. :((

Как это можно решить?

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

1. Не могли бы вы опубликовать сообщение об ошибке компилятора, возможно, в ответ на ваш вопрос?

2. Вы пропустили Using инструкцию?

Ответ №1:

Убедитесь, что вы добавили ссылку на библиотеку классов в проект вашего уровня представления. Затем попробуйте импортировать класс, namespace который содержит Employee , в ваш файл кода следующим образом:

 using EmployeeClassNameSpace;
  

Вы также можете использовать полное имя Employee типа следующим образом:

 EmployeeClassNameSpace.Employee = new EmployeeClassNameSpace.Employee();
  

Обратитесь к следующему

пространство имен (ссылка на C #)

использование директивы (ссылка на C #)

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

1. Ответ описан и прост для понимания 🙂

Ответ №2:

Вам нужно сослаться на новый проект из вашего проекта пользовательского интерфейса, для этого щелкните правой кнопкой мыши ваш проект пользовательского интерфейса и выберите добавить ссылку, затем перейдите на вкладку проекты и выберите проект библиотеки классов.

Также вам следует добавить директиву using в файл кода, который пытается создать экземпляр Employee, на случай, если пространства имен отличаются.

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

1. @Oded: Я нигде не вижу упоминания об этом в его сообщении, он просто сказал, что добавил «библиотеку классов в проект», что я интерпретировал, возможно, он перепутал project с solution.

2. Да, правильно, у меня есть решение с UI layer позже я добавил новый проект в библиотеку классов, чтобы использовать его в качестве бизнес-уровня. Layer создал класс и попытался создать объект из этого класса в UI layer, который не сработал. После импорта BusinessLayer как «использование BusinessLayer» среда IDE распознала empoloyee 🙂

Ответ №3:

Вашему классу пользовательского интерфейса, который имеет этот код, необходимо добавить using директиву, импортирующую пространство имен библиотеки классов в этот файл кода.

Либо это, либо используйте полное имя типа.

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

1. Спасибо за предоставленный ответ.