Delegates Sample (Custom Delegates)
This sample implements two uses of a delegate (single-cast and multicast) using the __delegate keyword.
The sample also demonstrates interoperability between a Visual C++ application and a Visual J# DLL (jsdel). The Visual J# DLL implements a basic Visual J# class (jsdel) with a custom method.
This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended.
Building and Running the Sample
To open the sample file in Solution Explorer
Click Download Sample.
The File Download message box appears.
Click Open, and on the left column of the zip folder window, click Extract all files.
The Extraction Wizard opens.
Click Next. You can change the directory that the files will be extracted to, and then click Next again.
Make sure that the Show extracted files check box is selected, and click Finish.
Double-click the sample's .sln file.
The sample solution is displayed in Solution Explorer. You might get a security warning that says the solution location is not trusted. Click OK to continue.
To build and run this sample using Visual Studio
In Solution Explorer, right-click the Delegates solution.
On the shortcut menu, click Build Solution.
On the Debug menu, click Start.
When the sample is built and run, single-cast and multicast delegates are created and invoked:
A single-cast delegate is created and then the bound method is invoked. The confirmation is a printed string with the value passed by the single-cast delegate.
Before creating the multicast delegate, the Visual J# class (jsdel) is first instantiated. The delegate is then bound to both the Visual J# and managed class methods and invoked. The confirmation is a printed string with the value passed by the multicast delegate.