[01] .Net framework
机器人
喜欢编程,喜欢篮球
展开
-
使用Thread包装类进行多线程操作
Java中使用接口的方式,实现方法的回调机制。而在.NET里,我们通过代理,能够很轻松的实现方法的回调。class Class1 { [STAThread] static void Main(string[] args) { Class1 c = new Class1(); ThreadWrapper tw = new ThreadWrapper(new Callback(c原创 2005-09-09 14:14:00 · 2903 阅读 · 3 评论 -
VS2008 AddIn 开发 – WorkspaceAddIn 实例(支持VS2010)
不知道你有没有遇到这种情况: 当要找一些以前做的代码做参考的时候,总是在文件夹里翻来翻去,光看项目名字也还是想不起来重要的代码究竟在哪个工程里。因此,自己开发个AddIn来方便进行本地的代码管理,通过添加本地的某个文件夹管理下面的所有的Solution。在AddIn里,可以快速切原创 2010-12-06 01:10:00 · 5992 阅读 · 7 评论 -
WCF中如何修改MaxItemsInObjectGraph的限制
在WCF/WebService中,如果返回值过大,比如Array,List,DataSet等达到一定数量级的话,可能引发下面的异常:WebService代码[WebService(Namespace = "http://tempuri.org/")] [WebServiceBin原创 2010-11-24 01:04:00 · 19868 阅读 · 12 评论 -
.NET 基于Task的异步编程模型
最近下载了Visual Studio Async CTP,体验了下基于Task的异步编程带来的新特性。在CTP中,增加了新的关键字: async, await。尤其是在SL,WP7的编程中,大量使用异步调用的环境里,async, await的确能减少编程的复杂度。看上去像是同步的原创 2011-08-14 03:18:54 · 17791 阅读 · 3 评论 -
DataContractJsonSerializer反序列化Dictionary
<br />今天碰到一个json字符串的反序列化,如下:<br />var json = @"{""key1"":""value1"",""key2"":""value2""}";<br />一开始想当然用.net 自带的 System.Runtime.Serialization.Json.DataContractJsonSerializer 来反序列化成 Dictionary。<br />但是,总是不能成功。查了下资料,DataContractJsonSerializer 反序列化成 Dictionary原创 2011-03-02 23:32:00 · 6431 阅读 · 1 评论 -
.NET 实现Eval(文字列表达式计算)的3种实现方法。
.NET 实现Eval(文字列表达式计算)的3种实现方法。原创 2010-11-07 00:34:00 · 7958 阅读 · 1 评论 -
ildasm + ilasm + ilmerge 小试牛刀
ildasm + ilasm + ilmerge 小试牛刀通过 ildasm.exe 可以将编译好的dll或者exe反编译为 il文件,并通过修改 il文件再利用ilasm.exe编译回dll或者exe。同时,利用ilmerge.exe的合并功能,还可以将多个dll,exe进行合并。本文示例中的程序和il都很简单,包括资源文件生成il文件中的定义等都是基本知识。希望通过这次小实验能够打开灵感,寻找 il 中更加高级的知识。原创 2010-10-25 01:46:00 · 8329 阅读 · 0 评论 -
Visual Studio 2010 Extension Manager 确实很NB
虽然VS2010出来已经好久了,但是还真没有好好摆弄过。今天发现Extension Manager的功能真是不错。。。赞一个。统一的插件管理界面,丰富的插件(都集中在Gallery上),非常方便查找和安装。。。VS2010真是脱胎换骨了。原创 2010-12-03 14:43:00 · 9111 阅读 · 0 评论 -
OSVersion 在 MONO MacOS 上的Bug?
OSVersion 在 MONO MacOS 上的Bug? (Howto detect os?)原创 2010-10-09 14:35:00 · 2105 阅读 · 0 评论 -
一篇非常不错的Remoting文章
All you need to know about .NET Remoting转载 2010-09-07 23:23:00 · 1191 阅读 · 0 评论 -
ODP.NET 因为项目路径过长而导致 ORA-12154 错误。
近期的项目开发中,新建工程中,创建OracleConnection,在Open连接的时候,发生“ORA-12154: TNS: 指定された接続識別子を解決できませんでした” 异常。根据经验检查了以下内容:① 连接字符串中定义的TNS,是否在 tnsname.ora 存在。② 开发环境中注册表中的 ORACLE_HOME 是否正确。③ ODP.NET 的版本是否正确?④ 如果原创 2007-10-19 19:25:00 · 3682 阅读 · 0 评论 -
.NET 窗体应用中的多线程误区~~
这两天考虑做一个中间处理等待画面, 意图在处理复杂过程时弹出待用 不断滚动 (子窗体同时被不断更新的)的滚动条的子窗体, 在处理完毕之后关闭它。 设想是实现 Form1 能像如下方法进行调用:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bu原创 2007-04-12 18:53:00 · 3540 阅读 · 0 评论 -
Visual Studio 2005:为开发小组创建可重用的项模板
在项目开发时,往往需要统一代码风格,包括注释,代码看板等。这里介绍一下使用Visual Studio 2005进行开发时,利用项模板来简化开发:项模板由一个或多个文件(可以是.vb/.cs源文件,vbproj文件,资源文件,数据文件)和一个 vstemplate 文件组成。此文件包含用户选择【新建项目】或【添加新项】命令时Visual Studio所需要的全部元数据。有意义的是,模板存储在压缩原创 2007-03-08 15:28:00 · 2400 阅读 · 0 评论 -
利用 StackTrack 增加 Log4Net 的输出信息
对于大名顶顶的Log4Net大家一定都很熟悉。在项目应用中,往往会对 Log4Net 进行二次包装以满足项目的特殊需求。 比如自动记录调用 Log 方法的调用方法名,类名。利用 System.Diagnostics.StackTrace 来了解哪个方法调用了该方法(以及哪个方法调用了其调用者,等等)。从其名称可以看出,StackTrace 对象跟踪等待当前过程完成的所有悬挂过程。可以采用许多方原创 2007-02-25 21:06:00 · 3468 阅读 · 1 评论 -
用System.Attribute扩展元数据
本文以一个项目中通用的验证类来举例说明如何使用自定义Attribute来扩展元数据。 在项目中,我们为了保证各个层次之间的松藕合,通常把在各个层次之间传递数据的封装在一个称为实体类的类中,比如ActionFromusing System;namespace AttributeTest{ public class ActionForm { private string e原创 2005-10-30 15:29:00 · 4022 阅读 · 3 评论 -
利用对象序列化深表克隆对象
在.NET上,一切都是对象。这种安排的后果之一就是在当将一个变量赋值给另一个变量的时候,会得到两个指向同一对象的变量,而不是两个不同的数据副本(除非是使用值类型而不是引用类型)。一般情况下,可以通过调用类所公开的一个特殊方法得到一个数据的副本。在.NET世界中,类应当实现ICloneable接口并公开这个接口的惟一方法Clone,让外部调用知道它能够创建类的实例的副本。框架中有多个原创 2005-04-30 17:02:00 · 3676 阅读 · 2 评论 -
Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
原文:http://www.atmarkit.co.jp/fdotnet/introrx/introrx_01/introrx_01_01.html作者:河合 宜文众所周知,从 C# 3.0 开始 Linq 大大改变了以往的编程风格,尤其是大幅度简化了大量数据加工这样麻烦的操作。对于各种数据(比如:数组,XML,SQL数据库等)提供了一种统一的语法,也是 Linq 的一个特征。Reactive E翻译 2012-04-15 16:14:12 · 16707 阅读 · 5 评论