最简单的C#代理 示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 代理
{
    
/// <summary>
    
/// 最简单的代理 示例
    
/// </summary>
    delegate void Daili();      //任何返回类型是void 参数为空的方法都可以被new出的这个代理调用
    class Program
    {
        
static void Main(string[] args)
        {
            Test t 
= new Test();
            t.Test2(
new Daili(t.Print)); //调用代理后的效果是 执行了 代理里面的方法 
            
//意义就在于 执行Test2的同时 也会执行t.Print方法   实际应用中Test2和Print当然可以属于不同的类下
            
            Console.ReadLine();
        }
   }

   
class Test
    {
       
public static string s="我是测试变量"
         
public void Print() {
             Console.WriteLine(s);
         }

         
public void Test2(Daili d) {
             d();
         }
    }
}

 

posted on 2010-04-29 13:14  Master zhu  阅读(269)  评论(0编辑  收藏  举报

导航