Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press
Buy directly from Paradoxal Press at $33.99 (Save 43%)
Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA
|
Listing 10-35 extracted from chapter The .NET 2 type system from a C#2 point of view
Listing 10-34< > Listing 10-36
This listing can be compiled with the command line: csc.exe /target:exe Example_10_35.cs Errors: 0 Warnings: 0
Example_10_35.cs
using System;
public class Article {
public int m_Price = 0;
public Article(int price) { m_Price = price; }
public int IncPrice(int i) {
m_Price += i;
return m_Price;
}
}
public class Program {
public delegate int Deleg(int i);
public static void Main() {
// Create three articles with different prices.
Article a = new Article( 100 );
Article b = new Article( 103 );
Article c = new Article( 107 );
// Assign three methods to a single delegate object.
Deleg deleg = a.IncPrice;
deleg += b.IncPrice;
deleg += c.IncPrice;
// Increment prices of the three articles in a single call
// to the delegate object 'deleg'.
int p1 = deleg( 20 );
// Here, the value of 'p1' is 127 i.e the price of the third article.
Console.WriteLine( "Prices of articles: a:{0} b:{1} c:{2}",
a.m_Price , b.m_Price , c.m_Price );
// Decrement prices of the three articles in a single call.
int p2 = deleg(-10);
// Here, the value of 'p2' is 117.
Console.WriteLine( "Prices of articles: a:{0} b:{1} c:{2}",
a.m_Price , b.m_Price , c.m_Price );
}
}
Copyright Patrick Smacchia 2006 2007
|