学习OpenWebkitSharp
摘要:学习OpenWebkitSharp 第一篇之运行下载下OpenWebkitSharp以后,由于环境问题,可能会执行不起来,这时请打开OpenWebkitSharp下的How to use.txt与Important! Please Read!.txt两个文档请按两个文档中的要求.运行OpenWebkitSharp这里要特殊说明一下.在Important! Please Read!.txt中,提到Windows XP/Vista/7 32 or 64 BitMicrosoft .NET Framework 4.0Microsoft C++ 2008 Redistributable(http://
阅读全文
扩展方法
摘要:今天在使用Linq To Xml的时候, 出现了一个没遇到过的问题, 是关于扩展方法的 , 特记录下来. 既然是Linq To Xml,这里首先引用了System.Linq.Xml这个命名空间. 然后其中在使用XElement的XPathSelectElements函数(这个函数是通过XPath获取IEnumerable<XElement>)的时候,编译不通过,提示 “System.Xml.Linq.XElement”不包含“XPathSelectElements”的定义,并且找不到可接受类型为“System.Xml.Linq.XElement”的第一个参数的扩展方法“XPathS
阅读全文
.NET平台下互操作性介绍
摘要:.NET互操作性入门系列(一):.NET平台下互操作性介绍2013-01-14 10:45 by Learning hard, 1281 阅读,4评论,收藏,编辑本专题概要:引言平台调用C++ Interop(互操作)COM Interop(互操作)一、引言 这个系列是在C#基础知识中遗留下来的一个系列的,因为在C# 4.0中的一个新特性就是对COM互操作改进,然而COM互操作性却是.NET平台下其中一种互操作技术,为了帮助大家更好的了解.NET平台下的互操作技术,所以才有了这个系列。然而有些朋友们可能会有这样的疑问——“为什么我们需要掌握互操作技术的呢?” 对于这个问题的解释就是——掌握了.
阅读全文
使用平台调用调用Win32 函数
摘要:.NET互操作性入门系列(二):使用平台调用调用Win32 函数2013-01-21 10:23 by Learning hard, 274 阅读,5评论,收藏,编辑本专题概要:引言如何使用平台调用Win32 函数——从实例开始当调用Win32函数出错时怎么办?——获得Win32函数的错误信息小结一、引言 上一专题对.NET 互操作性做了一个全面的概括,其中讲到.NET平台下实现互操作性有三种技术——平台调用,C++ Interop和COM Interop,今天在这个专题中将会大家介绍第一种技术,即平台调用。然而朋友们应该会有这样的疑问,平台调用到底有什么用呢? 为什么我们要用平台调用的技术.
阅读全文
分享我的XNA版超级玛丽
摘要:在前文分享我的XNA版超级玛丽(1)中,我详细介绍了利用XNA如何从无到有的让我们的玛丽出现在游戏画面中,并赋予它奔跑的能力,最后还完善了一个移动时加速和减速的小细节,算是起了个头。今天阳光明媚,微风徐徐,如此好日子,我想:是时候继续完善我们的玛丽。 先来点前戏 在继续为我们的玛丽增加新的游戏内容之前,先对上一篇的所有代码做一些小小的重构。 在上一篇中,我把所有的代码都一古脑的塞在我们的Game1.cs中,这显然不合适,就像我们做网页时把数据访问,业务处理,界面展示都塞在在ASPX中一样,小学生都不知道不正确。那么怎么重构呢?先介绍一个名词--“精灵”,这里的精灵,不是指WAR3中的...
阅读全文
Sokcet方式请求HTTP/HTTPS的封装类HttpHelper
摘要:去年早些时候的在博客中分享过一篇文章通过Socket进行HttP/HTTPS网页操作,之后在另外一文章Socket模拟HTTP协议之火车票购票软件中用到了该帮助类.时隔一年之后,在偶尔的使用过程中我将该类重新修复修改了一下:1、增加了对chunked协议的解析2、修改了一些API接口3、修复了一些BUG就在最近也还有同学找到我请教该类的一些用法,所以再次整理了一下发布出来,希望对需要的朋友有所帮助。不过,目前该类的一些封装和API接口还不是特别友好,有需要的朋友可自行理解后修改,我也很善于帮不懂的朋友解答一些问题。如若以后再有新的修改我也会同样共享出来。需要Socket方式提交HTTP的同学请
阅读全文
C#之Task&匿名方法
摘要:好久没有来这里转悠了,闲了这么段时间,今天又来到这里,给人一种很熟悉的感觉。 最近一直在一个改修项目上,看着别人写的框架,感觉自己突然什么也不会了。学习了几天框架,现在来讲讲自己的心得。 这个项目是一个Web项目,对于前台没有太多的要求,都是一些后台的数据库处理。项目中使用了很多存储过程。第一天这样的框架,就是感觉,类实在太多了,每一个存储过程都用一个类来抽成实体,上百成千个存储过程,让我实在着不到边际。一天看下来,发觉还好,只要细点心,还是可以过的。 第二天主要是看封装好的API,随便找了一个API,调试了下,看到Task<FXArrayList>.Factory.StartNe
阅读全文
用3种方式来实现异步取消Task后向当前SynchronizationContext执行操作
摘要:.NET TPL拥有非常大的灵活性,你会发现同一个操作会有许多不同的实现方式。正如标题所讲,我们来看这样一个简答的操作:取消Task的执行,然后在当前SynchronizationContext中执行代码。当然一切操作都必须是异步的,因此不能使用Task.Wait这样的方法。我想到的实现方法有三种。首先是准备工作,先写一个方法用来执行一个可以取消的Task,之后的具体实现代码就直接调用这个方法://执行一个可以取消的TaskstaticTaskNewCancellableTask(CancellationTokentoken){returnTask.Run(()=> {while(tru
阅读全文
灵动思绪EF(Entity FrameWork)
摘要:很久之前就想写这篇文章了,但是由于种种原因,没有将自己学习的EF知识整理成一片文章。今天我就用CodeFirst和ModelFirst两种方式的简单案例将自己学习的EF知识做个总结。在讲解EF之前,我们先来看下ORMORM全称:(Object-Relation Mapping)即对象-关系映射。ORM是将关系数据库中的业务数据用对象的形式表现出来,并通过面向对象的方式将这些对象组织起来,实现系统业务逻辑的过程。ORM简介: ORM产生背景:操作数据库代码的重复性在ORM之前我们知道通过ADO.NET可以访问数据库。或者更进一步,学过三层架构的开发人员,知道可以将通过ADO.NET对数据库的操作
阅读全文
C#一步一步实现插件框架的示例
摘要:C#一步一步实现插件框架的示例(一)像我这样的菜鸟,写程序一般就是拖控件,双击,然后写上执行的代码,这样在窗口中就有很多事件代码,如果要实现各按钮的状态,那得在很多地方修改代码,极为复杂.通过参考CSHARPDEVELOP的代码就说明和网上各位朋友的示例,在这里,自己实现了一个很简单的插件程序,方便程序的开发,每个功能可以独立开发,也方便维护.现在给大家讲讲其方法.先上张图片:由于我这个插件使用了DEVEXPRESS的控件,所有要运行就需要安装,在这里我们就不使用DEV的控件了.首先,我们需要定义一个接口,该接口定义了一个工具栏的按钮要执行的动作:ICommnd public interfa.
阅读全文
巧用特性减少代码书写量。
摘要:您还在为每次添加数据或者修改数据的时候,书写大量的代码判断输入是否合法而发愁吗?如果是,我这里可以为您提供一个好的解决方案。先看我列出的一个实体类例子:?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingAttributes;usingSystem.Data;namespaceModel{publicclasscms_article{[Model(Name = "ID", Empty = false, DataType = DbType.Int32, Erro
阅读全文
WinForm多线程+委托防止界面假死
摘要:当有大量数据需要计算、显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798usingSystem;usingSystem.Collections.Generic;usingSystem.Com
阅读全文
用C#实现的条形码和二维码编码解码器
摘要:本篇介绍可以在C#中使用的1D/2D编码解码器。条形码的应用已经非常普遍,几乎所有超市里面的商品上面都印有条形码;二维码也开始应用到很多场合,如火车票有二维码识别、网易的首页有二维码图标,用户只需要用手机扫描一下就可以看到手机版网易的网址,免去了输入长串字符的麻烦。条形码的标准:条形码的标准有ENA条形码、UPC条形码、二五条形码、交叉二五条形码、库德巴条形码、三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码。EAN商品条形码亦称通用商品条形码,由国际物品编码协会制定,通用于世界各地,是目前国际上使用最广泛的一种商品条形码。我国目前在国内推行使用的也是这种商品条形码。EAN商
阅读全文
asp.net微软图表控件MsChart
摘要:前段时间,开发项目时,由于需要,需要将一些数据统计,并以图表形式显示。由于是asp.net,所以就找到了MsChart图表控件,还是挺方便实用的,分享一下。MsChart控件的主要组成如图所示工具栏中找到“Chart”控件,将其拖进前台中一旦将Chart控件拖放至前台,强大的IDE帮助你完成了一些事情并引用了System.Web.DataVisualization动态库,而且还在网站配置文件Web.config中添加了其中在配置文件中添加的代码,在正式发布网站时,要做些许修改,后面我们再详说。详细的MSChart参数,可以查看MSDN文档。前台代码中,添加控件<asp:Chart ID=
阅读全文
C#同步网络时间
摘要:C#同步网络时间客户的机器的系统时间经常出错,导致给他们做的软件无法正常使用,所以后来就加了一个同步网络时间的小功能。实现起来很简单,但是却很使用。这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得的时间。下面是具体的实现:获取网络时间:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; using System.Text.Reg...
阅读全文
幸运大抽奖软件
摘要:年关将至,公司都有年会了,做个幸运大抽奖软件,一起庆祝下由于一个朋友的要求,需要在晚会上做一个抽奖的软件,来随即抽取录入的号码进行抽奖,于是参考了一下别人做的抽奖程序,然后抽时间做了一个这样的软件,应该总体还是符合实际要求了,这样的程序麻雀虽小,五脏俱全的,还确实有不少细节的地方。一般为了迎合喜庆的年会气氛,界面一般是大红大紫,这个难度不大,如下所示。由于是抽奖活动,一般就要求尽可能操作简单了,通过回车键来启动或者停止随机抽奖的过程,另外,为了方便切换各个奖项(如特等奖、一等奖、二等奖等等),就设置了数字键进行切换,0为特等奖,1为一等奖,2为二等奖,如此类推,可以设置到9为九等奖,一般很少有
阅读全文
各种AJAX方法的使用比较
摘要:各种AJAX方法的使用比较阅读目录开始第一代技术:生成客户端代理脚本调用服务端新技术的改进方向第二代技术:jQuery直接调用WebService第三代技术:更简单的数据格式第四代技术:直接提交表单多submit按钮的提交(用jQuery.form实现)批量输入控件的提交(用jQuery.form实现)提交复杂表单(用jQuery.form实现)各种AJAX开发方法的对比与总结相关链接招聘信息AJAX技术经过这么多年的发展,出现了一些框架或类库用于简化开发工作,不同的框架类库的使用方法也各不相同。 现在,再回头看看这些技术,看看这些框架类库,我们能感受到技术在不断地发展,AJAX开发越来越容易
阅读全文
在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
摘要:在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译当你在使用Reference Source functionality in VS 2008调试.Net 的源代码的时候,你会发现很多变量没法再调试时查看。这是因为源代码服务器上提供的代码默认是为最终销售优化过的(optimized )。这些值虽然你没法查看,但不会阻断单步执行,大部分情况下你可能不需要查看。但如果你真的需要查看,这里还是有一个办法的。你需要靠诉CLR不要加载pre-JIT(也加NGEN)镜像。下面是具体步骤:首先,创建一个CMD文件。文件里包含这么几步,设置一个环境
阅读全文
委托与实践
摘要:分类索引:C# 语言和运行时剖析--前言元旦休假了一段时间,所以没有更新,现在开始恢复更新,一周一到两章。之前的章节在知识点的组织结构上更多参考了《CLR Via C#》这本书。从这章开始,打算脱离这本书的章节结构,来完全讲一些自己的总结。不过在代码实例上还是会引用这本书的案例。委托的概念一.定义:委托是一种封装方法的类型, 通过委托可以调用方法,相当于C/C++中函数指针的概念. 但不同的是,委托不光是一个函数地址, 而是一个面向对象的类型. 其中封装了指向对象的实例和方法。二.要点:委托相对于其他类型来说相对抽象,因为其中有很多特殊的封装。使用委托时,不能用delegate来定义一个实例,
阅读全文
保证值类型的常量性和原子性<.NET资源管理>
摘要:"常量性"指的是:对象自创建后,它的值就保持不变。如果在构造函数中就验证了参数的有效性,那么就能够保证之后该变量值始终是有效的——因为已经不能再改变它的内部状态了。这样做有很多好处:常量性的类型可以减少必要的错误检查。常量性的类型也是线程安全的类型,上下文切换中线程读取的数据一致。常量性的类型可以安全的暴露给外界,因为调用者不能改变对象的内部状态。常量性的类型在基于散列(hash)的集合中表现良好,因为Object.GetHashCode()方法返回的就是一个不变量。1.应用场景 我们不可能将所以的类型都设置为常量类型,我们需要对类型使用的场景来分析,这里我们指的是:同时具
阅读全文