NET网页编程之C#-托付和事务
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛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? 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
页:
[1]