NET网页编程之C# 反射机制的例子
归根到底,Java跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢!有关反射实际常识,请参考本站C#反射机制概论有关C#中反射机制的实际常识,对照空洞和涩涩,这章拿一个复杂易懂的例子申明,反射机制的使用,个中包含依据设置文件中的信息,静态加载类实例的办法,反射为我们供应了静态实例化类的机制,可是因为它是运转时加载和其外部的一些成绩,以是反射的功能对照低。我们在实践事情中,可视情形使用反射机制。
界说了一个Car类,上面我们就使用反射机制来运转时加载它:
publicclassCar
{
privatestring_engin1;
privatestring_engin2;
publicstringEngin1
{
get{return_engin1;}
set{this._engin1=value;}
}
publicstringEngin2
{
get{return_engin2;}
set{_engin2=value;}
}
publicStringGetCar()
{
return"iamacar";
}
}
//反射实例的客户代码,在这是一个窗体;在窗体的Load事务中,界说了两种使用反射机制,静态天生实例的办法,第一个是使用反射中的Assembly类举行的;第二个是使用反射中的Activator类举行的。
usingSystem.Reflection;
usingSystem.Configuration;
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
Assemblya=Assembly.Load("ReflectionTest");
Carcar1=(Car)a.CreateInstance("ReflectionTest.Car");
this.textBox1.Text=car1.GetCar();
//依据设置文件来失掉类的信息,依据反射来初始化它
//要援用System.Configuration.dll
StringcarString=System.Configuration.ConfigurationManager.AppSettings["car"];
Typet=a.GetType(carString);
Carcar2=(Car)Activator.CreateInstance(t);
this.textBox2.Text=car2.GetCar().ToString();
}
}
设置文件的内容:
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<appSettings>
<addkey="car"value="ReflectionTest.Car"/>
</appSettings>
</configuration>
反射机制并非何等庞大,我们能够同过下面的例子看到,代码就几行,只需了解了反射机制的道理,我想,我们很简单把反射机制很好的使用在开辟中。不过你如果学.net的话,你就不要选os了,这课比较底层的。你可以旁听数据库加上软件构件和中间件。(webservices和面向服务的课也应该听一听) HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
页:
[1]