1 using System;
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 namespace BicNet.Projects.mcp.chapter3
12 {
13 public partial class DelegatesAndEvents : System.Web.UI.Page
14 {
15 delegate bool MathDelegate(int x);
16 protected void Page_Load(object sender, EventArgs e)
17 {
18 int MyNumber = 42;
19 System.Text.StringBuilder sbOutput = new System.Text.StringBuilder();
20 sbOutput.Append("<h2>Using Delegates</h2><hr />");
21 sbOutput.Append("The Number " + MyNumber.ToString());
22 //Call AboutNumber to invoke IsEven
23 sbOutput.Append(AboutNumber(new MathDelegate(IsEven),MyNumber));
24 sbOutput.Append(" even and it " );
25 sbOutput.Append(AboutNumber(new MathDelegate(IsPrime),MyNumber));
26 sbOutput.Append(" prime ");
27 litOutput.Text = sbOutput.ToString();
28 }
29
30 private string AboutNumber(MathDelegate Func, int x)
31 {
32 if (Func(x))
33 return " is ";
34 else
35 return " is not ";
36 }
37
38 //Invoked through the Math Delegate
39 private bool IsEven(int x)
40 {
41 if (x % 2 == 0)
42 return true;
43 else
44 return false;
45 }
46 //Invoked through the Math Delegate
47 private bool IsPrime(int x)
48 {
49 for (int i = 2; i < (x / 2); i++)
50 {
51 if (x % i == 0)
52 {
53 return false;
54 }
55 }
56 return true;
57
58 }
59
60 }
61
62 }