simple delegate

using System;

namespace test
{
    
delegate int DiscountDelegate(); 

    
class Program
    {
        
static void Main(string[] args)
        {
            
new ShoppingCart().Process(new DiscountDelegate(Calculator.Calculate));
        }
    }

    
class ShoppingCart
    {
        
public void Process(DiscountDelegate discount)
        {
            
int magicDiscount = discount();
            
// ...
        }
    }

    
class Calculator
    {
        
public static int Calculate()
        {
            
int discount = 0;
            
if (DateTime.Now.Hour < 12)
            {
                discount 
= 5;
            }
            
else if (DateTime.Now.Hour < 20)
            {
                discount 
= 10;
            }
            
else
            {
                discount 
= 15;
            }
            
return discount;
        }
    } 

}


posted on 2009-12-22 13:37  Jack Han  阅读(157)  评论(0编辑  收藏  举报

导航