|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Anonymous Delegates Sample
This sample demonstrates using an anonymous delegate to calculate a salary bonus for an employee. Using an anonymous delegate simplifies the program because there is no need to define a separate method.
The data for each employee is stored in an object containing personal details as well as a delegate that references the algorithm required to calculate the bonus. By defining the algorithm by means of a delegate, the same method can be used to perform the bonus calculation, irrespective of how it is actually calculated. Also of note, a local variable, multiplier, becomes a captured outer variable because it is referenced in a delegated calculation.
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.
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 the AnonymousDelegates Code sample within Visual Studio
On the Debug menu, click Start Without Debugging.
To build and run the AnonymousDelegates Code sample from the Command Line
Use the Change Directory (cd) command to change to the AnonymousDelegates directory.
Type the following:
csc AnonymousDelegates.cs AnonymousDelegates