仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 862|回复: 11
打印 上一主题 下一主题

[学习教程] NET网页编程之C#-托付和事务

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:25:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。要为类机关一个事务,必需用event来声明一个delegate型的字段,如:
pucliccalssTest{
publicdelegateEventHandler(objectsender,EventArgse);//声明为delegate型的事务;
}

然后要指定一个事务的称号,并写出处置语句:publiceventEventHandlerLoad

在创立类的实例后界说这个“Load”事务:
Testm=newTest();
m.load=newEventHandler(m_Load);
voidm_Load(objectsender,EventArgse)
{
MessageBox.Show("thisisaclassevent");
}

再看看上面的完全的一段代码:usingSystem;
classTestClass
{
staticvoidMain(string[]args)
{
EventClassmyEventClass=newEventClass();
myEventClass.CustomEvent+=newEventClass.CustomEventHandler(CustomEvent1);//联系关系事务句柄;
myEventClass.CustomEvent+=newEventClass.CustomEventHandler(CustomEvent2);
myEventClass.InvokeEvent();
myEventClass.CustomEvent-=newEventClass.CustomEventHandler(CustomEvent2);
myEventClass.InvokeEvent();
myEventClass.Load+=newEventClass.CustomEventHandler(Load1);
myEventClass.onLoad();
}

privatestaticvoidCustomEvent1(objectsender,EventArgse)
{
Console.WriteLine("FireEvent1");
}

privatestaticvoidCustomEvent2(objectsender,EventArgse)
{
Console.WriteLine("FireEvent2");
}

privatestaticvoidLoad1(objectsender,EventArgse)
{
Console.WriteLine("Currentbackgroundcoloris{0}.Pleaseinput:",System.Console.BackgroundColor.ToString());
}
}

publicclassEventClass
{
publicdelegatevoidCustomEventHandler(objectsender,EventArgse);//起首界说一个托付范例的工具CustomEventHandler

//用delegate数据范例声明事务,要用event关头字,这里界说了两个字件;
publiceventCustomEventHandlerCustomEvent;
publiceventCustomEventHandlerLoad;

publicvoidInvokeEvent()
{
CustomEvent(this,EventArgs.Empty);
}
publicvoidonLoad()
{
Console.BackgroundColor=ConsoleColor.Red;
Load(this,EventArgs.Empty);
strings=Console.ReadLine();
if(s!="yuping")
{
Console.WriteLine("Youmusttypeyupingforchangeit!");
}
else
{
Console.BackgroundColor=System.ConsoleColor.Black;
Console.Clear();
}
}
}

在包括事务声明的类中,声明一个数据范例是托付的这么样的一个工具CustomEventHandler,它有两个参数(sender和e);在这里利用托付的目标就是在运转中向参数传送办法,并由托付工具天生的实例吸收这个参数办法的前往值,因而,在声明托付型的工具时应依据类中的办法布局来界说,大概说在援用类中应该依据托付型工具的布局来天生呼应事务的办法布局,好比二者都有哪些范例的参数、前往值的范例,也就是说二者要坚持分歧。同时,要准确地利用C#中的托付,就必需坚持三个步骤:声明——实例化——挪用。

在下面的代码中,EventClass类就表现了这个准绳:
1.声明托付范例的工具:publicdelegatevoidCustomEventHandler(objectsender,EventArgse);
2.创立CustomEventHandler工具的实例CustomEvent:publiceventCustomEventHandlerCustomEvent;
3.在InvokeEvent()办法中完成了对该事务的挪用,援用事务。那做企业软件是不是最好用J2EE?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-10 16:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表