我现在正在全力学习C#,但对于C#中的“在类中实现事件”我理解的不是很清楚,如下面这段代码我看的非常吃力,谁知道哪里有“C#事件”这方 看Inside C#吧,很好的一本书,对了解C#的事件很有帮助 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 C#中,事件是通过delegate实现的,这一段的确比较难懂,需要反复看书和看例程。下面是一段很好的例程:delegate(译为“委托”)其实就是对象方法指针,委托(delegate)根据其返回值分为两种既:一、一般委托 二、组潘委托(返回值为void),它可以通过重“+=”运算符指向多个对象方法,事件就用这种委托实现,如: public delegate void TestDelegate(); class TData { private int data; punlic event TestDelegate OnDataChange; public int Data { get { return data; } set { if(data!=value)$$(OnDateChange!=null) { data=value; OnDateChange(); } } } public void PrintText() { System.Console.Write("Data's valus is Changed"); } public TData() { OnDataChange+=new TestDelegate(PrintText); } } class AppClass { public static void Main() { Tdada AppData=new Tdata(); AppData.Data=5 //data变化,触发OnDataChange 事件 } }程序编译后输出: Data's value is changed说明: 关键字event作用:1、说明这是一个事件处理过程 2、对事件委托只能进 行“+=”或“-=”操作。 关于WINFORM窗体程序调用 类库项目 引用不到的问题(在线等) C# ffmpeg 实现视频压缩 最小生成树算法 tabControl的拖动功能!高手请进! 问一个巨简单的问题,可是我怎么也没想懂。。。我们常看到书上这么说... pda开发中winform 没有visiblechange事件,如果想添加应该怎么办? OleDbDataAdapter.Fill 使程序当掉,求助各位大虾 这个需要用到异步吗? 我在测试一个程序,如果想要调整系统中的执行顺序该如何做 求高手帮助,看个程序,不知道为什么错误?? 關c#的兩個問題﹐高手請進 请教关于ado.net的问题
下面是一段很好的例程:delegate(译为“委托”)其实就是对象方法指针,委托(delegate)根据其返回值分为两种既:一、一般委托 二、组潘委托(返回值为void),它可以通过重“+=”运算符指向多个对象方法,事件就用这种委托实现,如:
public delegate void TestDelegate();
class TData
{
private int data;
punlic event TestDelegate OnDataChange;
public int Data
{
get
{
return data;
}
set
{
if(data!=value)$$(OnDateChange!=null)
{
data=value;
OnDateChange();
}
}
}
public void PrintText()
{
System.Console.Write("Data's valus is Changed");
}
public TData()
{
OnDataChange+=new TestDelegate(PrintText);
}
}
class AppClass
{
public static void Main()
{
Tdada AppData=new Tdata();
AppData.Data=5 //data变化,触发OnDataChange 事件
}
}
程序编译后输出:
Data's value is changed
说明:
关键字event作用:1、说明这是一个事件处理过程 2、对事件委托只能进
行“+=”或“-=”操作。