- 博客(38)
- 收藏
- 关注
原创 在动态方法中的比较运算 (使用.net 中的动态方法编程备忘录9)
一、高级语言的比较运算比较运算,在C#中很简单,一般直接用如下运算符即可: 等于==不等于!=小于==小于等于==大于==大于等于==二、MSIL 中基元类型的比较运算在动态方法中,使用 ILGenerator 对象,OpCodes 与上述比较运算相关的,则有许多:Beq如果两个值相等,则将控制转移到目标指令 Bgq如果第一个值大于或等于第二个值,则将控制转移到目标指令。 Bge_Un当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令。 Bgt如果第一个值大于第二个值
2010-07-21 14:31:00 1279
原创 在动态方法中如何尽量减少定义的 LocalBuilder 数量 (使用.net 中的动态方法编程备忘录8)
<br />动态方法中,往往是对配置文件的循环解读中生成的,很多情况下,无法预先知道需要多少变量。<br /> <br />最笨的方法,当然是每当需要时,就定义一个变量,但这样,往往造成定义太多重复类型的变量,每个只用一两次。<br /> <br />特别是,LocalBuilder 类型变量,不能赋予 null 值,所以,你无法先声明一个LocalBuilder,需要时再根据 LocalBuilder 是否为null,而采用直接使用变量还是用 ILGenerator.DeclareLocal 定义后赋值再
2010-07-18 10:49:00 1093
原创 OpCodes.Call 与 OpCodes.Callvirt (使用.net 中的动态方法编程备忘录7)
<br />MSDN中,对 OpCodes.Call 与 OpCodes.Callvirt 的解释,分别为:<br /> <br />OpCodes.Call:<br /> <br />调用由传递的方法说明符指示的方法。<br /> <br />堆栈转换行为依次为: <br />1.将从 arg1 到 argN 的方法参数推送到堆栈上。<br />2.从堆栈中弹出从 argN 到 arg1 的方法参数;通过这些参数执行方法调用并将控制转移到由方法说明符表示的方法。完成后,被调用方方法生成返回值并将其发送给调
2010-07-17 09:44:00 3896
原创 使用.net 中的动态方法编程备忘录6(OpCodes.Ldloc 与OpCodes.Ldloca)
<br />关于 OpCodes.Ldloc 和 OpCodes.Ldloca,MSDN 上说:<br /> <br />OpCodes.Ldloc:<br />将指定索引处的局部变量加载到计算堆栈上。<br /> <br />OpCodes.Ldloca:<br />将位于特定索引处的局部变量的地址加载到计算堆栈上。<br /> <br />好像说得很清楚,但其实却说得不太清楚。<br /> <br />开发过程中,曾有根据配置文件来生成动态方法的需求。在处理类似“A.B.C” 这样的对象的属性的属性时,
2010-07-17 02:26:00 2106 1
原创 使用.net 中的动态方法编程备忘录2(使用发出动态方法的意义)
软件开发,需要一定的灵活性。要实现灵活性,通常是根据配置信息,动态灵活地执行不同代码。比如一个Asp.net程序,你从数据库读出一个DataTable,按照要求,你需要为用户提供多种显示方案,如按Table方式显示时,Table不同行、列用不同格式显示。1、最笨的方法,为每种显示方式做一个页面。这种方式优点是运行效率是最高的,就对一个页面的维护来说,因逻辑简单,所以维护时逻辑也较简单;这种方式缺点是有多少显示方案,你就要为每种方案做一套页面,另外维护时虽然逻辑简单,但可能工作量较大。2、采用较灵活方式,设计
2010-07-08 14:54:00 769
原创 使用.net 中的动态方法编程备忘录5(在动态方法中使用条件语句)
1、程序执行时,除了顺序执行外,任何程序设计语言,都有条件语句、循环语句、无条件转移语句。而条件语句,几乎每个过程都离不开。在高级程序编程语言中,使用特定的关键字,编写条件语句是很方便的,如 if语句、if-else、if-else if语句、switch语句等等。但微软中间语句(MSIL)无特定的条件语句,要实现条件转移,必须定义Label,自己以比较语句、条件转移语句组合来实现。2、分析条件语句看下面的C#示例:private static string CompareResult(int i, int
2010-07-08 03:14:00 1060
原创 使用.net 中的动态方法编程备忘录4(DynamicMethod 类的构造函数及访问其他类的私有成员)
使用 类 这种编程方式,一个重要原因就是类的封装性。通过不同的访问修饰符(如private、public、protected等),可限定类成员具有不同的访问级别。一般来说:private 修饰符修饰的成员,只能由该类内部访问;protected 修饰的成员,除了允许当前类访问外,还可运行继承类访问;internal 修饰的成员,可允许同一个程序集内部访问;public 修饰的成员,不但允许同一程序集内部访问,还可运行其他程序集访问(当然,类也必须是 public 的)。在创建动态方法(DynamicMeth
2010-07-08 01:03:00 1600
原创 使用.net 中的动态方法编程备忘录3(DynamicMethod 的最优访问方式)
由 DynamicMethod 类的语法[ComVisibleAttribute(true)]publicsealedclassDynamicMethod : MethodInfo可知,DynamicMethod 继承自 MethodInfo,所以是可以用 Invoke 方法来调用的。但这种方式效率不高,更好的方式是声明一个与动态方法返回类型、参数相同的代理,然后用 DynamicMethod 的 CreateDelegate 方法来调用动态方法。如果动态方法中的代码不涉及IO,并且访问很频繁的情况下
2010-07-08 00:32:00 1756
原创 使用.net 中的动态方法编程备忘录1(如何查看生成的动态方法的代码)
使用动态方法编程,常常不知生成的动态方法是否正确,这里介绍,使用工具软件查看动态生成的代码的方法。 1、下载并安装可反编译.net程序的工具 我一直用Reflector.exe来反编译和查看exe、dll文件的代码,Reflector.exe 有免费版本,足够使用了。首先,要下载Reflector.exe,只要在搜索引擎搜一下,很容易得到这个软件的下载链接。 2、将发出的动态方法保存到.dll文件 正常情况下,动态方法或动态类、动态生成的程序集并不需要保存,而为了反编译和查看
2010-07-07 23:40:00 1616
原创 ASP.Net页面中,DropDownList、CheckBoxList控件和页面中动态控件的冲突
我在一个项目中建了个页面基类,负责诸如页面共用操作和元素,如Logo、登录信息、页脚页眉等,这些生成的页面元素,基本上都是用LiteralControl或者设置其他控件的InnerHtml来完成。 这个BasePage本来用得好好的一直没事,今天添加一个页面,页面中含有一个DropDownList,一个CheckBoxList,测试时发现提交后Items都被清空了
2008-05-10 19:17:00 3480
转载 RSS 2.0 DTD,网上找来两个
一、引自 http://www.cnitblog.com/TheThinKing/archive/2007/06/18/28714.html RSS 2.0 DTD -->ELEMENT rss (channel)>ATTLIST rss version CDATA #FIXED "2.0"> A channel can apparently either have one or more i
2008-04-26 11:11:00 2054
原创 如何在SQL Server中的SELECT TOP 中使用变量
数据库环境: Sql Server 2005 查询语句类似: SELECT TOP XX * FROM tbl ... 以前使用时,这种查询一般都是在程序中拼好Sql语句再执行,这次打算在存储过程中,用参数传入查询行数,使用类似: SELECT TOP @queryCount * FROM tbl
2008-04-24 03:32:00 16010 7
原创 Asp.net 中,FileUpload 上传文件为何总失败,而 HasFile 为何为 False
Asp.net 比 Asp 相比,极大地方便了程序员开发,但同时,因为因为对较低层的严密的封装,程序员难以知道其实现过程,同时,也难以干预。 做一个文件上传,开始是想在文件a.aspx 中提交,在 b.aspx 中接受的。如果在 Asp 中实现这样的功能是很简单的,但在 Aspx 中,我做实验、查资料,最终也没搞定。 后来只好在 iframe 中同文件提交和
2008-03-27 20:44:00 6505 4
转载 服务器响应HTTP的类型ContentType大全
本文引自http://9host.cn/Javascript/20074221808146365.htmlContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/html。在ASP中使用它: ".*"="application/octet-stream" ".001"="application/x-001" "
2008-03-23 20:15:00 1682
原创 用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败
环境:WINDOWS Server 2003 + VS2005 + Sql Server 2005,Web 开发昨天感觉 IIS 有点问题,就运行了一下 aspnet_regiis.exe,不想,调试 Aspx 页面时,不能连接数据库了,提示:用户 NT AUTHORITY/NETWORK SERVICE 登录失败。在网上查解决方法,很多方法都有在Microsoft SQL Serve
2008-03-10 13:01:00 3221
原创 在asp.net 服务端一些共用方法(包括静态方法)中使用Request和Response对象
在asp.net服务端一些公用方法(包括静态类的静态方法)中,常常需要访问调用该方法的页面的 Request 和 Response,最简单的,就是在该方法参数中添加一个Page类型的参数,在方法内通过该参数来引用 Request 和 Response。还有不通过参数的方法:System.Web.HttpContext 类有一个静态属性Current,返回当前请求的 HttpContext
2008-03-09 21:53:00 5215
原创 Asp.net 中,在服务端向客户端写脚本的常用方法
在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript。该对象比较常用的方法:1、RegisterArrayDeclaration:在服务端,向客户端生成一个数组定义 服务端代码: this.ClientScript.RegisterArrayDeclaration("aAry", "1,2
2008-03-09 21:34:00 2026 1
原创 Asp.net 中从服务端代码中通过Request可得到的路径
aspx 文件在浏览器地址栏中的地址为:http://localhost:1219/Photo/Dict/LeftTree.aspx?tableID=2&nTrack=2则this.Request.Url.ToString()=http://localhost:1219/Photo/Dict/LeftTree.aspx?tableID=2&nTrack=2this.Request.Url.Ho
2008-03-09 20:36:00 1104
原创 使用高效的 .net 反射发出
本文概述测试结果分析测试结果测试代码概述对于vs.net 反射发出动态方法、动态类型等,原来一直认为虽然有用,但效率不如常规方法编译的,因此一直没有深入研究,直到前些天才发现,如果用法适当,其运行效率不比常规方法创建的类、方法差,甚至更高。 我是根据MSDN中的一个示例为基础做的测试,其位置位于:MSDN 开发工具和语言 Visual Studio 文档
2007-10-24 14:50:00 2284
原创 Ajax 应用的思考
最近看MS的Ajax,感觉是功能强大,应用范围有限。Ajax 被设计的目的,就是为了能够在不刷新页面的情况下,访问后台Web服务,并用返回数据更新页面。在Web 应用程序中,不论服务端如何实现,在客户端呈现的都是一个页面,而呈现的页面,按同页面是否需要回发、可能的回发次数,大致可分为: 不需要同页面回发,Ajax 对此类页面没有意义; 需要同页面回发,且需要多次
2007-10-16 16:51:00 1054 1
原创 终于找到问题所在了,原来不是程序问题,而是数据质量问题
本篇仅仅是本人工作中的感想,非做本行业软件人员看不明白的我写的服务程序,任务有如下:1、接受通讯服务器得自车辆的消息2、分析消息,并按消息类别保存3、自动划分班次,即车辆来的消息,是线性的,服务要根据线路各个站点的拓扑关系,将线性发上来的消息,按段分割,使其分属不同的班次 当掉头,并且掉头后报上来的站点多于一个站点,则理解为掉头,原来班次结束,新班次开始;
2006-06-09 03:07:00 1364
原创 昨晚在泡泡联室对几幅联
......出对:雨诉相思泪====风吟别离歌萧吹雅韵翻墙过====月撒清辉扑面来风清松赏月====室雅蝶怜花 辞旧翩跹狮子舞====迎春婉转画眉歌村野轻烟烟落日=====山林曲径径通幽细雨如丝出对:云霞开锦绣====细雨锁兰心松扉未启先闻鹤==竹伞方收忽见虹没有对出的:远山一碧连千里=== 生疏心上锁==== 生疏心上锁,可读为:生疏 心上 锁,还可读为:生疏 心
2006-06-08 07:49:00 1109
原创 在ASP.net中,不引用第三方类库的、轻便的、将报表导出到Excel中的方法
在Asp.net 中,Web报表,是每个项目都不可避免的,而很多报表,还要求,将报表导出到 Excel 中,本文提供一种轻便的方法,来实现这一功能。 1、首先,需要在 Asp.net 项目中,添加一个类 Excel(文件名为 Excel.cs) 2、将如下代码,复制到 Excel.cs 中:using System;using System.Web.UI;usi
2006-06-07 06:05:00 2883 1
原创 头痛好了,也不困了
直到昨天下午5点来钟,头疼好了。 晚上在同事家吃了晚饭后回家,上网玩了半夜,准备睡觉。可躺下后一点也不瞌睡,或许是周一睡得太足了吧(周一一直头疼,犯困,没去上班,两个来小时就睡一小觉,大概一天睡了20来个小时;周二到公司,还是没精神,在办公室趴在办公桌,大概也睡了两、三小觉,到下午才好)。 睡不着,也玩得够了,只好远程登录到公司服务器,又从公司服务器登录到正在测试服务的
2006-06-07 03:00:00 1134
原创 是不是感冒了
周五,dj住到我家;周六,qb带了一个朋友从北京飞来,他朋友晚上代替dj住我家了,周六晚上一起出去喝咖啡,晚上风大,穿的薄,有点冷。 周日晚上睡得不算晚,大概1点来钟吧,周1醒来,感觉头疼,上午没去上班,就一直睡了;下午感觉不轻,又睡了一下午;晚上,大多数时间还是睡觉,虽然每觉都很短,大概1、2个小时,但总的来说,这一天估计也睡了20来个小时。 今天上午起来,还
2006-06-06 13:33:00 1081
原创 在泡泡诗词对联聊天室玩对联续1
你对蓝色水晶说:风绕纱帘窗前雨====人迷电脑网上情 :B蓝色水晶悄悄地对你说::B【公告】蓝色水晶 离开了聊天室你对影自翩翩说:归客可曾折霸柳====飞燕莫非迷旧途? 影自翩翩对你说:好你对影自翩翩说:舟破湖心月=手折莲上蓬 影自翩翩对你说::B不错你对(F)暗香来说:半点闲情依沧海===一支红梅傲塑风(F)暗香来对你说:(Y)你悄悄地对慕容凌儿说:沉默是今天的凌儿==========慕容凌
2006-06-04 22:00:00 4955 8
原创 泡泡诗词对联聊天室玩对联
人总要在一个时期,除了工作,要有一个兴趣爱好,我开始是看小说,2003年吧,朋友介绍,在雅虎聊天室玩,当时玩得很投入,很疯,每天在雅虎30、40聊天室,找人抬杠、找能开得起玩笑的MM调戏,跟一帮朋友玩得不亦乐乎,一天不去雅虎,就觉得空空的。 后来,偶然机会,发现泡泡里有个诗词对联聊天室。中学时,对古诗词很有兴趣,之后就没再用过工,现在发现这样的聊天室,一下子勾起了兴趣,进
2006-06-04 20:38:00 4651 6
原创 继开通blog后,终于想起来再次更新一下
去年开通了blog后,一直没有心情更新,昨天及前两天看了两位朋友的Blog,忽然心血来潮,终于想起更新一下blog。 首先,上传了去年写的一首小诗《雨后感怀》,之后又连续几篇,都是这一年多在烹泉香舍论坛的对联。 这里不像其他Blog,主题大部分都是计算机技术,我除了本人从事软件开发,还喜欢诗词对联,更新了Blog后到目前为止,这里大部分文章都是诗
2006-06-04 03:28:00 1179 1
原创 聊天室网友名嵌名诗
2004年在雅虎聊天室,联几乎所有网友名,诗成,颇自得网友有:踏飞燕,月挂疏桐,寒江雪,茶香,红炉点雪,诗吟,好酒陈酿,浪子情人,xinghai,窗外的星星,bird等。马踏飞燕归来迟,来时月挂疏桐枝;寒江雪飘飘茶香,红炉点雪好吟诗;好酒浪子不觉高,欲xing hai(醒还)醉天欲晓;窗外啾啾催人起,纳闷冬天bird叫。
2006-06-04 01:02:00 1428
原创 在烹泉香舍对联
2005-3-27 青衫换酒 山披烟雨形容淡=====发染风霜意气廖 2005-4-17 风语一叠 独向白云寻率意=====且涂紫墨洒天真 2005-4-27 汗衫扣 天边鹤影三秋色======山外湖光半夕阳2005-4-27 汗衫扣 林间篱影群归鸟======山外湖光半夕阳2005-6-25 品茗邀月伴 烛光柔晚宴======泪眼怅离情2005-6-25 背背 二两清风闲佐酒 ====== 一樽
2006-06-04 00:18:00 1747
原创 在烹泉香舍玩的嵌名联
在烹泉香舍玩的嵌名联会员名字:长安长弃寒窗苦安得梅韵香长恐他宵卿未至安堪后日泪成流!会员名字:夜月拍栏夜静无眠思拍档月凉有感抚栏杆会员名字:静若秋水静女伤秋月若英逐水光会员名字:风过耳边浊世熙攘,风过耳边去红尘倩影,魂牵心底留会员名字:古七七玉露金风,织女七七可渡斜阳古道,离人九九难归
2006-06-03 21:28:00 1430
原创 2005-05,在烹泉香舍对联
2005-05,烹泉香舍对联巫山神女 出联削峰入云,谁持宝剑空中笑======流星寄梦,结扣情丝月下祈 品茗邀月伴 出联飞花绕树吟新句====垂柳梳风思故人 断桥湖畔孤鸦绕====连理枝头双鹊栖 情深不负梢头月====腊尽可期花信风背背 出联催耕处处敲蛙鼓======伴读盈盈闻桂香风语一叠 出联夜听风雨书做枕=====晓觅芳菲蝶探踪
2006-06-03 07:13:00 1595
原创 2005-04,烹泉香舍对联
2005-04,烹泉香舍对联青衫换酒 出联琴鸣流水意======词赋念奴娇琴鸣流水意======歌咏落花魂 背背 出联蜿转清流环玉带======氤氲霓彩罩霞披春来秀野风流绿======秋去寒山叶落黄
2006-06-03 06:53:00 1121
原创 2005-03,在烹泉香舍对联
2005-03,在烹泉香舍对联风语一叠出:一叶知秋意===群山幻夏云夜静孤钟远===情深双目痴霞栖枫岸艳===雨过柳溪香1.岭高云不碍===水浅鱼自得 2.去棹残阳里===放歌云水间 3.寒塘浮瘦月===飞马下夕阳 4.菱荷一池绿===翰墨满屋香 5.疏钟惊宿鸟===短信醉桃花 6.远山隐黛色===秋月流霜华 7.棋画怡清趣===诗书冶雅骚 8.紫云流翰墨===红袖煮滇红 9.濯雨蒹葭
2006-06-03 06:35:00 1363
原创 五绝 雨后感怀
2005年11月初,连日小雨,午后雨歇,从住处步行到公司去,或是连日阴雨初停,虽然云尤未开,依然路上行人如织,许多老年人结伴在路边人行道悠闲地散步,忽有所感,遂写下当时感受。雨霁秋如洗 云遮日隐踪繁华车阻塞恬淡鹤听松
2006-06-03 05:59:00 1458
原创 诗词对联工具
将内容复制保存为一个html文件即可。作者:海底捞针create:2004-11update:2005-4-17版权所有,随便用哦:b点击这里,可以直接打开该页面-->诗韵table{border-left:2px solid black;border-top:2px solid black;border-right:1px solid black;border-bottom:1px
2005-04-20 15:14:00 13546
原创 灵活使用window.top
在Web程序中,常会制作一些自己的对话框,来代替默认的alert之类的对话框,如何能让该页面在程序不同子目录下按照同样的模式使用,甚至不论该程序作为站点还是虚拟目录,都用同一种方式访问呢? 以前我很笨地在开始登录时根据首页url,计算并记录程序的根目录,然后在访问该对话框的通用函数中,用该目录连接成对话框页面的路径。 刚发现一个方法,当程序采用框架方式,主文件中包含几个框架,当在一个框
2005-04-20 14:52:00 2733
原创 今天开通了我的Blog
我除了闷头写程序,就是闷头看MSDN,很少留意相互交户。前一阵子找资料找到CSDN的Blog,晕乎乎好久才知道是怎么回事,试着进去自己的Blog,却发现没有管理栏,只是个空的页面,不能操作任何东西,失望之余,又无可奈何。 昨天在CSDN 的BLOG 发现有这么一行:如何成为一个Blogger:免费注册CSDN用户 ->登录 ->在“会员功能”界面点击“我要发表文章 ”->自动
2005-04-09 23:02:00 800
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人