AhDung

/*追求代码质量的野生码农*/

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 6 7 8 9 10 11 下一页

2013年7月26日

摘要: 这鸟属性把我害苦过,特此敬告一下大家。具体表现在:获取时:在DateTimePicker.ValueChanged事件中,获取到的Text有可能是string.Empty!!!,特别当ValueChanged事件是在构造函数或Load、Shown等启动事件中触发时,得到string.Empty的几率增大;赋值时:有可能触发不了TextChanged事件(该事件默认不显示在设计器中,但的确是存在的);可能的原因:先看Value属性的setter源码:set{ bool flag = !DateTime.Equals(this.Value, value); if (!this.user... 阅读全文
posted @ 2013-07-26 16:46 ahdung 阅读(1906) 评论(5) 推荐(2) 编辑

2013年7月15日

摘要: 有个c#程序在某台电脑上,执行某个操作时,总是会报如图错误:度娘一番,发现市面上常见的原因是配置文件中的特定节点的位置不对,或者配置文件损坏等等,而这个程序根本没有使用内置的配置文件方案,而是用的ini,所以不适用我的问题。由于这个程序不是我的,所以首先reflator出源码(c#这点让我纠结,一方面怕自己的程序被人反,另一方面又得益于此~可以反别人的,NND),调试追踪之下,发现居然是WebRequest.Create()引发的异常,这方法多数会因为传入的uri字串不合法而引发格式错误的异常,这次能引发上述错误还是头一次见(我想Create方法内部也是由其它类引发的,但没深究),anyway 阅读全文
posted @ 2013-07-15 16:30 ahdung 阅读(1768) 评论(0) 推荐(0) 编辑

2013年7月12日

摘要: Update:201307180945今天这鸟问题又找上我了,照之前的方法做后没解决,我又做了些尝试,整个流程如下:1、插上U盘,发现问题2、以devmgr_show_nonpresent_devices=1模式启动【设备管理器】,并勾选【查看\显示隐藏的设备】3、【便携设备】中卸载可疑项目。拿不准就全卸4、在diskmgmt.msc中更改U盘的盘符5、【磁盘驱动器】中卸载该U盘6、重启,好了7、WCNNNDSPWT!============原文==================标题有点怪,原因是我不都不知道该怎样概括这个鸟问题,所以尽可能列出一些主要现象,希望有需要的童鞋搜到。但比标题更怪 阅读全文
posted @ 2013-07-12 12:06 ahdung 阅读(12153) 评论(4) 推荐(0) 编辑

2013年6月26日

摘要: 经测这俩方法会锁住文件,导致程序运行期间无法对load过的程序集文件进行更名/删除/覆盖等等操作,考虑用Assembly.Load()文件字节组替代:Assembly.Load(File.ReadAllBytes(@"c:\a.exe"));注意Assembly.Load()的其它重载方法也可能会锁住文件~具体没尝试,可以确定的是Load文件字节组的方法不会,我猜是因为Load的是文件被读入到内存中的字节组,而不是处于文件系统上的文件本身,所以不会锁住文件~猜想而已,没深究。 阅读全文
posted @ 2013-06-26 17:35 ahdung 阅读(543) 评论(0) 推荐(0) 编辑

2013年6月11日

摘要: .net中的许多类都提供了Close()和Dispose()方法,一直以来我都以为它俩是一回事,是完全等价的,在任何地方,用其一即可,这一意识源于《NET设计规范:约定、惯用法与模式》一书中,P239和P240关于这俩方法的设计建议。按书中的字面理解,Close就应该设计为与Dispose一样的功能,是为了照顾自然语言的一种考量,的确对于有些类,说Close比说Dispose更符合用户的理解(如关闭连接、关闭流),所以这让我觉得Close就是作为Dispose的另一种使用渠道而存在,本来只需一个Dispose就够了,事实上我也没有因为随意使用它俩而造成过任何问题,所以一直以来没深究。可是今天在 阅读全文
posted @ 2013-06-11 15:49 ahdung 阅读(4124) 评论(34) 推荐(7) 编辑

2013年6月7日

摘要: .Net本身没有封装对快捷方式的操作类,所以要在C#中操作快捷方式,需要借助“外力”。市面上常见的方法是通过Windows Script Host Object Model这个COM组件来完成。这种方法的缺憾是你的程序必须带上Interop.IWshRuntimeLibrary.dll这个文件(不过也许可以把这个dll并入exe中再动态加载什么的)。Anyway~今天说的是另一个途径——WMI(Windows Management Instrumentation),这个东东我了解不深,只知道很强大,几乎涉及win系统软硬件资源的方方面面,使用一种叫WQL的查询语言(SQL它妹)获取资源信息,我 阅读全文
posted @ 2013-06-07 13:40 ahdung 阅读(1555) 评论(1) 推荐(1) 编辑

2013年5月27日

摘要: 这两对属性光从MSDN上看不出什么区别,在到底选用其中哪个属性时给我造成过困扰,后来冥冥中觉得它们之间可能有关联,遂决定实验一下:果然,它们之间内部是私通的,赋值其中一个,另一个会跟着改变。通过反编,发现SqlDbType和DbType是通过一个叫MetaType的类实现的私通(这个类是internal的,所以外部不能访问),而SqlValue和Value则是通过SqlParameter类中的一个私有字段_value实现私通,具体此处不详谈。总之知道这两对基友有联动就行了,以后不用再纠结用哪一个。PS:其实MSDN中有提到SqlDbType和DbType之间是有联动的,参看http://msd 阅读全文
posted @ 2013-05-27 16:47 ahdung 阅读(862) 评论(3) 推荐(0) 编辑

2013年5月16日

摘要: 注:周节点是根据中国习惯,视周一为起,周日为末。 阅读全文
posted @ 2013-05-16 11:00 ahdung 阅读(738) 评论(0) 推荐(0) 编辑

2013年5月9日

摘要: 当使用net use访问nt6.x系统的默认共享(X$)时,可能会遭遇这样的情形:拒绝访问!test属于管理组啊,为什么会这样呢?此时,如果换用内建的administrator(若该账户启用的话)访问,则会发现命令能正常完成。这就奇怪了,同样是管理员,做人的差距咋就这么大捏?说实话这个鸟问题困扰了我一整天,百思不得其解,各种尝试,最后皇天不负,总是让我找到原因:UAC(User Account Control/用户帐户控制)这货经过了解,它的存在就是为了拉低管理员的默认操作权限,致力于让管理员不是“管理员”,目的是为了所谓的安全。所以当UAC开启时,自建的管理员进行需要管理权限的操作时,都要询 阅读全文
posted @ 2013-05-09 11:51 ahdung 阅读(703) 评论(0) 推荐(0) 编辑

2013年4月8日

摘要: 注:这篇HowTo多少有些脱裤子放屁,但不妨碍它仍然能携带一些知识点。在拔出移动存储设备时,我都会很乖的先去右下角弹出它,但有些时候会遭受这样的待遇:当确信没有程序在占用该设备时,这种提示让我觉得很操蛋,NTM说明白点会死啊~好吧,这时还不忍心直接拔的童鞋可以接着往下看:其实MS有说明白的,只是没在消息框里体现,而是记录在事件日志里,大概是MS认为把故障细节暴露给用户是不友好的~真扯蛋,难道说的不明不白云里雾里就是友好了么,实在怕消息框放不下太多信息的话,可以给个超链嘛~口水稍多,望海涵,言归正传。运行eventvwr.msc即可打开【事件查看器】,其中在【系统】日志项中,不难找到刚刚拒绝弹出 阅读全文
posted @ 2013-04-08 15:06 ahdung 阅读(250) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 下一页