Китай |
Простое приложение на нескольких языках программирования
Написание класса на C# .NET и встраивание его в консольное приложение
Приступим к написанию кода на C#. На этот раз мы создадим консольное приложение Visual C#, которое назовем HelloCSharp. Это имя и будет закреплено за исполнимым файлом консольного приложения.
- Вызовите через меню оболочки мастер добавления нового проекта в наше решение
- Укажите мастеру, что мы собираемся добавить в решение проект типа консольного приложения на C# с именем HelloCSharp
Обратите внимание на нижнюю часть окна мастера, где прописан подчиненный каталог для размещения кода нового проекта, добавляемого в решение.
После щелчка по кнопке OK мастер создаст заготовку кода добавляемого проекта HelloCSharp. Состав файлов заготовки добавленного проекта отобразится в панели Solution Explorer, где уже находятся два ранее созданных нами проекта, составляющих решение
- Переименуйте файл Class1.cs, автоматически сгенерированный мастером, в файл HelloCSharp.cs
- Вызовите файл HelloCSharp.cs на редактирование, измените имя класса, уберите лишние комментарии, уберите аргументы функции Main() и дополните кодом, чтобы окончательный вид был таким
using System; namespace HelloCSharp { class HelloCSharp { [STAThread] static void Main() { HelloVB.HelloVB hello = new HelloVB.HelloVB(); hello.Hello(); Console.WriteLine("Привет из Visual C# .NET !!!"); Console.ReadLine();// Для задержки окна вывода } } }Листинг 1.4. Код на языке C#
Статический метод Main() является точкой входа в приложение. Этот метод создает новый объект класса HelloVB на куче и вызывает его метод Hello(), в который мы ранее зашили два сообщения - вначале из кода на C++.NET, затем из кода на VB.NET. Третье сообщение C# выдаст сам.
Необходимо сообщить компилятору языка C#, где находится сборка, определяющая данный тип. На этот раз следует добавить в проект C# ссылку на оба проекта HelloCPP и HelloVB. Для этого:
- В открывшемся диалоговом окне установите вкладку Project, выделите оба предыдущих проекта и щелкните по кнопке Select (или прежде щелчком по кнопке Browse найдите путь к проекту), а затем по кнопке OK
- Постройте проект, не запуская его на выполнение, и убедитесь в отсутствии синтаксических ошибок
После этого можно убедиться также, что в соответствующем каталоге последнего проекта помещены DLL двух первых проектов и создан исполнимый файл консольного приложения последнего проекта
Наконец пришло время сделать последний проект стартовым проектом нашего решения. Хотя оболочка автоматически в данном случае назначила его стартовым, потому что это единственный исполнимый файл решения (в решение могут входить несколько исполнимых файлов, тогда не очевидно, какой из них будет стартовым и это нужно определять явно). Но для тренировки назначим последний проект стартовым.
- Откройте панель Solution Explorer и щелкните правой кнопкой мыши на корневом узле проекта с именем HelloCSharp. В появившемся контекстном меню выполните команду Set as StartUP Project
- Запустите проект - должен получиться следующий результат
Мы проиллюстрировали уникальную возможность разрабатывать различные части проекта на разных языках, поддерживаемых средой .NET, или подключать к проекту файлы с DLL, разработанные в этой среде другими программистами неважно на каком языке. Открывается огромная перспектива для переносимости и приемственности кода!