仓酷云

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

[学习教程] ASP.NET网站制作之经由过程反射添补泛型汇合List的静态办法

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。汇合|静态呃```花了一夜工夫,终究弄出来了怎样经由过程反射,从DataReader将数据添补到数据实体泛型汇合的静态办法.
//Kchen.Core.BaseBusinessObject为通用数据实体类,此处仅为限制T所承继的范例
publicstaticIList<T>FillDataListGeneric<T>(System.Data.IDataReaderreader)whereT:Kchen.Core.BaseBusinessObject
{
//实例化一个List泛型汇合
IList<T>DataList=newList<T>();
while(reader.Read())
{
//因为是是未知的范例,以是必需经由过程Activator.CreateInstance<T>()办法来根据T的范例静态创立数据实体工具
TRowInstance=Activator.CreateInstance<T>();
//经由过程反射获得工具一切的Property
foreach(PropertyInfoPropertyintypeof(T).GetProperties())
{
//BindingFieldAttribute为自界说的Attribute,用于与数据库字段举行绑定
foreach(BindingFieldAttributeFieldAttrinProperty.GetCustomAttributes(typeof(BindingFieldAttribute),true))
{
try
{
//获得以后数据库字段的按次
intOrdinal=reader.GetOrdinal(FieldAttr.FieldName);
if(reader.GetValue(Ordinal)!=DBNull.Value)
{
//将DataReader读掏出来的数据添补到工具实体的属性里
Property.SetValue(RowInstance,Convert.ChangeType(reader.GetValue(Ordinal),Property.PropertyType),null);
}
}
catch
{
break;
}
}
}
//将数据实体工具add到泛型汇合中
DataList.Add(RowInstance);
}
returnDataList;
}
挪用的时分利用以下代码
//伪代码OleDbDataReader_ds=创立一个OleDbDataReader
IList<Product>_result=Kchen.Utilities.FillDataListGeneric<Product>(_ds);
此静态办法经由过程一个实体范例和DateReader,疾速的将数据添补到数据实体泛型汇合中.
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。
老尸 该用户已被删除
沙发
发表于 2015-1-19 23:38:11 | 只看该作者
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
山那边是海 该用户已被删除
板凳
发表于 2015-1-28 06:15:16 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
柔情似水 该用户已被删除
地板
发表于 2015-2-5 14:06:30 | 只看该作者
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
简单生活 该用户已被删除
5#
发表于 2015-2-12 02:23:52 | 只看该作者
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
活着的死人 该用户已被删除
6#
发表于 2015-3-2 21:00:06 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
分手快乐 该用户已被删除
7#
发表于 2015-3-11 06:19:04 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
海妖 该用户已被删除
8#
发表于 2015-3-17 22:11:38 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
莫相离 该用户已被删除
9#
发表于 2015-3-25 04:05:55 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 23:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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