Файлы к лабораторной работе Вы можете скачать здесь
Это небольшой пример для демонстрации способа многоязыковой разработки отдельных частей одного и того же приложения. Задача работы - продемонстрировать тот факт, что выбор языка в среде .NET не имеет никакого значения. Хоть пример является максимально простым, но принципы остаются неизменными независимо от сложности приложения. Важно лишь, чтобы при создании сборки учитывались общие требования к языкам для всех открытых переменных, методов и свойств.
План будет такой
Выберите
место для размещения нового решения
Через
меню оболочки вызовите мастер создания нового пустого решения
Укажите
в мастере имя решения HelloSolution
После щелчка по кнопке OK мастер создаст каталог, имя которого
совпадает с именем решения HelloSolution. Решение будет состоять
из нескольких проектов, которые будут храниться в подчиненных
каталогах. Выбор
шаблона указывает, что будет разрабатываться
приложение, нейтральное к используемому языку.
Вызовите
через меню оболочки мастер добавления нового проекта в наше
пустое решение
Укажите
мастеру, что мы собираемся добавить в решение проект типа
библиотечного класса на управляемом C++ (C++.NET) с именем HelloCPP
Обратите внимание на нижнюю часть окна мастера, где прописан подчиненный каталог для размещения кода нового проекта, добавляемого в решение.
После щелчка по кнопке OK мастер создаст заготовку кода добавляемого
проекта HelloCPP. Состав файлов заготовки проекта отобразится
в панели

Откройте
на редактирование файл HelloCPP.h. Его заготовка, созданная
мастером, имеет вид// HelloCPP.h
#pragma once
using namespace System;
namespace HelloCPP
{
public __gc class Class1
{
// TODO: Add your methods for this class here.
};
}
Не будем пока обращать внимание на некоторые новые элементы, заметим лишь, что заготовка создана для управляемого C++.
Замените
сгенерированное мастером Class1 на более осмысленное HelloCPP.Поскольку реализация класса весьма проста, разместим наш простой
код прямо в
Измените
код файла HelloCPP.h, чтобы он выглядел так// HelloCPP.h
#pragma once
using namespace System;
namespace HelloCPP
{
public __gc class HelloCPP
{
// TODO: Add your methods for this class here.
public:
virtual void Hello()
{
Console::WriteLine("Привет из управляемого C++ !!!");
}
};
}
Здесь метод HelloCPP::Hello() использует функцию System::Console::WriteLine()
из библиотеки классов .NET Framework для вывода в окно консоли
приветствия от
Постройте
проект, не запуская его на выполнение, и убедитесь в отсутствии
синтаксических ошибок
Вызовите
через меню оболочки мастер добавления нового проекта в наше
решение
Укажите
мастеру, что мы собираемся добавить в решение проект типа
библиотечного класса на 
Обратите внимание на нижнюю часть окна мастера, где прописан подчиненный каталог для размещения кода нового проекта, добавляемого в решение.
После щелчка по кнопке OK мастер создаст заготовку кода добавляемого
проекта HelloVB. Состав файлов заготовки добавленного проекта
отобразится в панели

Теперь наше решение будет состоять из двух проектов.
В панели
Class1.vb и
переименуйте его в более осмысленное HelloVB.vb
Откройте
файл (двойным щелчком) HelloVB.vb и отредактируйте его код
такPublic Class HelloVB
Inherits HelloCPP.HelloCPP
Public Overrides Sub Hello()
MyBase.Hello()
System.Console.WriteLine("Привет из Visual Basic .NET!!!")
End Sub
End Class
Этот код определяет класс HelloVB, наследующий от управляемого
класса C++ с именем HelloCPP. Класс HelloVB замещает виртуальный
метод Hello() HelloCPP, но вначале вызывает
версию метода Hello() из HelloCPP, а затем
выводит свое приветствие.
Обратите внимание, что имя

Необходимо сообщить компилятору языка
Выберите
в оболочке команду меню Project/Add 
В открывшемся
диалоговом окне установите вкладку Project и щелкните по
кнопке Select (или прежде щелчком по кнопке 
Проект HelloCPP будет
присоединен к решению и увидется в проекте HelloVB. Это
можно наблюдать в панели

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

Приступим к написанию кода на C#. На этот раз мы создадим
HelloCSharp.
Это имя и будет закреплено за исполнимым файлом консольного
приложения.
Вызовите
через меню оболочки мастер добавления нового проекта в наше
решение
Укажите
мастеру, что мы собираемся добавить в решение проект типа
консольного приложения на C# с именем HelloCSharp
Обратите внимание на нижнюю часть окна мастера, где прописан подчиненный каталог для размещения кода нового проекта, добавляемого в решение.
После щелчка по кнопке OK мастер создаст заготовку кода добавляемого
проекта HelloCSharp.
Состав файлов заготовки добавленного проекта
отобразится в панели

Переименуйте
файл Class1.cs, автоматически
сгенерированный мастером, в файл HelloCSharp.cs
Вызовите
файл HelloCSharp.cs на редактирование, измените 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();// Для задержки окна вывода
}
}
}
Main() является точкой входа в приложение.
Этот метод создает новый объект класса HelloVB на Hello(), в который мы ранее зашили два сообщения
- вначале из кода на C++.NET, затем из кода на VB.NET. Третье
сообщение C# выдаст сам.
Необходимо сообщить компилятору языка C#, где находится сборка, определяющая данный тип. На этот раз следует добавить в проект C# ссылку на оба проекта HelloCPP и HelloVB. Для этого:
Выберите
в оболочке команду меню Project/Add

В открывшемся
диалоговом окне установите вкладку Project, выделите оба предыдущих
проекта и щелкните по кнопке Select (или прежде щелчком по кнопке 
Постройте
проект, не запуская его на выполнение, и убедитесь в отсутствии
синтаксических ошибокПосле этого можно убедиться также, что в соответствующем каталоге
последнего проекта помещены

Наконец пришло время сделать последний проект стартовым проектом нашего решения. Хотя оболочка автоматически в данном случае назначила его стартовым, потому что это единственный исполнимый файл решения (в решение могут входить несколько исполнимых файлов, тогда не очевидно, какой из них будет стартовым и это нужно определять явно). Но для тренировки назначим последний проект стартовым.
Откройте
панель Set as StartUP Project
Запустите
проект - должен получиться следующий результат
Мы проиллюстрировали уникальную возможность разрабатывать
различные части проекта на разных языках, поддерживаемых средой
.NET, или подключать к проекту файлы с

Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.