Разработка управляемого клиента на основе модели компонентных объектов Microsoft (COM) с помощью С#
В целях сравнения ниже приведена аналогичная клиентская программа на языке С#. Конечно, эта книга посвящена C++, а не С#, однако некоторые фрагменты программ на С# помещены в нее для наглядности. Программа на С# в точности соответствует программе на управляемом C++, но чуточку проще. Чтобы она работала, необходимо добавить в проект ссылку на сборку LEGACYCOMSERVERLib.dll, созданную при помощи утилиты Tlbimp.exe.
Добавление ссылки к проекту на С# эквивалентно использованию директивы fusing в программе на управляемом C++. Нет необходимости сейчас копировать сборку LEGACYCOMSERVERLib.dll, так как это выполнится автоматически после добавления ссылки к проекту Visual Studio .NET.
//ManagedCSharpCOMClient.cs using System; // использование Системы; using LEGACYCOMSERVERLib; // использование LEGACYCOMSERVERLib; namespace ManagedCSharpCOMClient // пространство имен ManagedCSharpCOMClient { public class Test // общедоступный класс Испытание { public static void Main(string[] args) // общедоступная статическая Главная (строка параметров) { LegacyCOMObj Ico; // интерфейс Ico = new LegacyCOMObj(); //coclass int sum = Ico.AddEmUp(3, 4);// суммировать Console.WriteLine(sum); // сумма } } }
Если вы запустите эту программу, то увидите выдачу, в точности совпадающую с выдачей предыдущих клиентских программ LegacyCOMClient и ManagedCOMClient.