|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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? |
|