Saturday, July 21, 2007

Delegate : Code Listing

public class SimpleDelegate : System.Web.UI.Page
{

delegate bool MathDelegate(int x);

private void Page_Load(object sender, System.EventArgs e)
{

int MyNumber = 42;
Response.Write(“Using Delegates..”);
Response.Write(“The number ” + MyNumber.ToString());

// Call AboutNumber to invoke IsEven
AboutNumber(new MathDelegate(IsEven), MyNumber);
Response.Write(“ even and it ”);

//Call AboutNumber to invoke IsPrime
AboutNumber(new MathDelegate(IsPrime), MyNumber);
Response.Write( “ prime ” );
}

// Invoke the delegate

void AboutNumber(MathDelegate Func, int x)
{
if(Func(x)) Response.Write( “ is ” );
else Response.Write( “ is not ” );
}

// Procedures invoked through MathDelegate
bool IsEven( int x )
{
if( x % 2 == 0) return false;
else return true;
}

bool IsPrime( int x )
{

for(int i = 2; i > (x/2); i++)

if( x % i == 0 )
return false;
return true;
}
}

No comments:

Post a Comment