Создание консольного проект а – проекта типа ConsoleApplication
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Необходимо построить интерфейс, обеспечивающий конечному пользователю доступ к тем сервисам, которые предоставляет построенная библиотека DLL. Начнем с построения простейшего интерфейса, позволяющего пользователю с консоли вводить исходную информацию – в нашем случае аргумент x. С исходными данными пользователь может провести вычисления, вызвав сервисы, предоставляемые DLL, а затем полученные результаты вывести на консоль – экран дисплея. Для организации подобного интерфейса и служит тип проекта – ConsoleApplication.

Чтобы создать новый проект, вовсе не обязательно начинать со стартовой страницы. Достаточно выбрать пункт Главного меню Файл (File), выполнить команду Добавить (Add), а затемСоздать проект (NewProject), приводящий на страницу создания нового проекта, показанную нарис. 4.1.2-1. В этом окне, как описано ранее, зададим тип строящегося проектаКонсольное приложение(ConsoleApplication), дадим ему имя – ConsoleToMathTools, укажем, что проект добавляется к существующему РешениюCh1. В результате в уже существующее Решение добавится еще один проект (рис. 4.1.2-4).

Рис. 4.1.2-4. Решение, включающее консольный проект

 

Как показано на рис. 4.1.2-4в консольном проекте автоматически создается класс с именем Program, содержащий единственный статический метод – процедуру
Main( ). Если скомпилировать этот проект и запустить его на выполнение, то начнет выполняться код этой процедуры, пока отсутствующий и который предстоит нам создать.

Основной операцией, инициирующей вычисления в объектно-ориентированных приложениях, является вызов метода F некоторого класса, имеющий вид:

x.F(arg1, arg2, …, argN);

В этом вызове x - это некоторый существующий объект, называемый целью вызова. Возможны три ситуации:

· x – имя класса. Объектом в этом случае является статический объект, который всегда создается в момент трансляции кода класса. Метод F должен быть статическим методом класса, объявленным с атрибутом static, как это имеет место для точки вызова – процедуры Main ( );

· x – имя объекта или объектное выражение. В этом случае F может быть обычным, не статическим методом. Иногда такой метод называют экземплярным, подчеркивая тот факт, что метод вызывается экземпляром класса – некоторым объектом;

· x – не указывается при вызове. В отличие от двух первых случаев такой вызов называется неквалифицированным. Заметьте, неквалифицированный вызов вовсе не означает, что цель вызова отсутствует, – она просто задана по умолчанию. Целью является текущий объект, имеющий зарезервированное имя this. Применяя это имя, любой неквалифицированный вызов можно превратить в квалифицированный вызов. Иногда без этого имени просто не обойтись.

 

Но как появляются объекты? Как они становятся текущими? Как реализуется самый первый вызов метода, другими словами, кто и где вызывает точку входа – метод Main? С чего все начинается?

Когда Решение запускается на выполнение, то в него должна входить сборка, отмеченная как стартовый проект, содержащая класс с точкой входа – статическим методом (процедурой) Main. Некоторый объект исполнительной среды CLR и вызывает этот метод, так что первоначальный вызов метода осуществляется извне приложения. Извне создается и первый объект, задающий статический модуль с методом Main. Этот объект и становится текущим.

Дальнейший сценарий зависит от содержимого точки входа. Как правило, в процессе работы метода Main создаются один или несколько объектов других классов, они и вызывают методы и/или обработчики событий, происходящих с созданными объектами. В этих методах и обработчиках событий могут создаваться новые объекты, вызываться новые методы и новые обработчики. Так, начиная с одной точки, разворачивается целый мир объектов приложения.

 


Связывание с DLL

Первым делом свяжем два построенных проекта, для чего в консольный проект добавим ссылку на проект с Библиотекой классов(DLL)MathTools. В окне Обозреватель решений(Solution Explorer) подведем указатель мыши к имени консольного проекта и из контекстного меню, появляющегося при щелчке правой кнопки, выберем пункт менюДобавить ссылку(Add Reference). В открывшемся окне добавления ссылок выберем вкладку Проекты(Projects). Поскольку проект MathTools включен в Решение, то он автоматически появится в открывшемся окне. Если ссылку нужно установить на проект, не включенный в Решение, то в окне добавления ссылок нужно задать путь к проекту. Нам проще, путь указывать не нужно, достаточно щелкнуть по появившемуся в окне имени MathTools. Ссылка на DLL появится в папке Ссылки(References) консольного проекта. Теперь проекты связаны и из консольного проекта доступны сервисы, предоставляемые DLL.

 

Дата: 2019-11-01, просмотров: 195.