| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖
标题:求助讲讲c#中的委托和事件!
只看楼主 加入收藏
wsh_0564335
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-2-3
收藏
 问题点数:0 回复次数:4 
求助讲讲c#中的委托和事件!
有哪位高手能不能讲讲c#中的委托和事件!
搜索更多相关主题的帖子: 委托 
2006-03-05 20:08
唐伯猫
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:5323
专家分:58
注 册:2005-8-9
收藏
得分:0 

给个例子看看:
代理:
(1)
using System;
public delegate void mfDelegate(string name);
public class MikeCat
{
public static void Hello(string name)
{
Console.WriteLine ("您好!"+name);
}
public static void GoodBye(string name)
{
Console.WriteLine ("再见"+name);
}
public static void Main()
{
mfDelegate mf1=new mfDelegate (Hello);
mf1("mikecat");
mfDelegate mf2=new mfDelegate (GoodBye);
mf2("mikdecat");
mfDelegate mf3=mf1+mf2;
mf3("迈克老猫");
mfDelegate mf4=mf3-mf1;
mf4("mikecat");
}
}
(2)
using System;
delegate int Mydelegate();
public class MyClass
{
public int InstanceMethod()
{
Console.WriteLine ("Call the instance method.");
return 0;
}
static public int StaticMethod()
{
Console.WriteLine ("Call the static method.");
return 0;
}
}
public class Test
{
static public void Main()
{
MyClass p=new MyClass ();
//将指针指向非静态的方法InstanceMethod
Mydelegate d=new Mydelegate (p.InstanceMethod );
//调用非静态方法
d();
//将代表指向静态的方法StaticMethod;
d=new Mydelegate (MyClass.StaticMethod );
//调用静态方法
d();
}
}
委托:
using System;
namespace _05_06
{
public delegate string MyDelegate(string drg);
public class Class_05_06
{
public static string DoNothing(string s)
{
return s;
}
public string ToLower(string s)
{
return s.ToLower ();
}
public static string ToUpper(string s)
{
return s.ToUpper ();
}
public static void Main()
{
MyDelegate d1,d2,d3;
Class_05_06 c=new Class_05_06 ();
d1=new MyDelegate (Class_05_06.DoNothing );
d2=new MyDelegate (c.ToLower );
d3=new MyDelegate (Class_05_06.ToUpper );
string s="This is a string";
Console.WriteLine (d1(s));
Console.WriteLine (d2(s));
Console.WriteLine (d3(s));
}
}

}


<iframe name="alimamaifrm" frameborder="0" marginheight="0" marginwidth="0" border="0" scrolling="no" width="300" height="170" src="/go/app/tbk_app/chongzhi_300_170.php?pid=mm_28854300_2441872_11377541&page=chongzhi_300_170.php&size_w=300&size_h=170&stru_phone=1&stru_game=1&stru_travel=1" ></iframe>
2006-03-07 12:03
风之舞者
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2006-2-26
收藏
得分:0 

委托就是把一大堆函数进行集合 某种意义上就是过程的另一种说法


2006-03-08 20:48
bashenan2003
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-2-25
收藏
得分:0 
OK
2007-04-02 17:04
HankStar
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2006-10-4
收藏
得分:0 
明白了~

2007-04-02 17:48
快速回复:求助讲讲c#中的委托和事件!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024477 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved