ASP.NET教程之ASP.net用法系列:怎样从基类挪用LINQ/EF类的属性仓酷云
J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过net网页编程比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。假如有各类植物,好比Dogs/Cats/Cows/...,都有分歧的Age办法,若想从其基类用不异的办法ShowAge来显现这些分歧的Age,天然就能够借用基类Animal的virtual函数,好比:[*]publicclassAnimal
[*]{
[*]publicvirtualAge
[*]{
[*]get{....}
[*]set{....}
[*]}
[*]publicShowAge()
[*]{
[*]Show(Age);
[*]}
[*]}
[*]
[*]publicclassDog:Animal
[*]{
[*]publicoverrideAge
[*]{
[*]get{...}
[*]set{...}
[*]}
[*]}
[*]publicclassCat:Animal
[*]{
[*]publicoverrideAge
[*]{
[*]get{...}
[*]set{...}
[*]}
publicclassAnimal{publicvirtualAge{get{....}set{....}}publicShowAge(){Show(Age);}}publicclassDog:Animal{publicoverrideAge{get{...}set{...}}}publicclassCat:Animal{publicoverrideAge{get{...}set{...}}
override是个关头,由于假如没有override,则animal会挪用本人的Age。假如Dog和Cat是一个LINQ/EF主动天生的类,则没有override这个关头词,这类情形就会产生。
固然不克不及每次到LINQ/EF天生的代码里边手工加上,怎样办呢?
前次碰到这个成绩,搜刮而不得,测试了半天找到一个办法,明天再次用上,看来不算少见发帖共享。
在Animal里边,利用这些代码:
[*]publicvirtualintAge
[*]{
[*]get
[*]{
[*]PropertyInfopi=this.GetType().GetProperty("Age");
[*]intage=(int)pi.GetValue(this,newobject[]{});
[*]returnage;
[*]}
[*]set
[*]{
[*]PropertyInfopi=this.GetType().GetProperty("Age");
[*]pi.SetValue(this,value,newobject[]{});
[*]}
[*]}
publicvirtualintAge{get{PropertyInfopi=this.GetType().GetProperty("Age");intage=(int)pi.GetValue(this,newobject[]{});returnage;}set{PropertyInfopi=this.GetType().GetProperty("Age");pi.SetValue(this,value,newobject[]{});}}
这类办法实在和“承继”没甚么年夜干系,地道是间接读取了数据库表中的属性,能够应急。
如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具) 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
页:
[1]