摘要: 得到函数名: System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); this.Text = st.GetFrame(0).ToString(); 得到代码行,源代码文件名: StackTrace st = new StackTrace(new StackFrame(true));Console.W... 阅读全文
posted @ 2010-05-25 20:34 HappyZeng 阅读(164) 评论(0) 推荐(0) 编辑
摘要: System.Threading.Timer 是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。当不再需要计时器时,请使用 Dispose 方法释放计时器持有的资源。 使用 TimerCallback 委托指定... 阅读全文
posted @ 2010-05-12 15:12 HappyZeng 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、类型的逻辑分组  从CLR的角度来看,只有两种类型:引用类型和值类型。但从框架设计来说,可以进行更细致的分类   1、引用类型,包括:类、静态类、集合、数组、异常、属性  2、值类型,包括:枚举和结构  3、接口 二、类型和命名空间  在设计一个大型框架之前,应该先决定如何把功能划分到一组功能域中,这些功能域由命名空间表示。命名空间的设计过程是一个迭代的过程,会随着一个一个版本中新的类型的加入... 阅读全文
posted @ 2010-01-25 01:53 HappyZeng 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一、大小写约定1、标识符的大小写规则  不要用下划线来区分单词,也不要在标识符中使用下划线。  PascalCasing约定被用于除参数名之外的所有标识符。标识符中的每个单词的首字母大写。  camelCasing约定仅用于参数名,除第一个单字外,所有单词的首字母大写。 二、通用命名约定 1、标识符名字的选择   并不是所有编程语言都区分大小写,所以不要仅仅以大小写来区分不同的名字  框架中标识符... 阅读全文
posted @ 2010-01-23 19:22 HappyZeng 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 一、场景驱动设计原则  设计框架时因该把注意力集中在一些常用场景,使整个设计过程由场景来驱动。场景分为常用场景和高级场景。(“场景”即用户使用Framework进行开发,调用API的情景)  在设计框架时,必须从一组使用场景以及实现这些场景的样例代码开始。  要为每个主要的特性域(feature area)定义一些最常用的场景 。  要确保使用场景与适当的抽象层次相对应。场... 阅读全文
posted @ 2010-01-22 01:36 HappyZeng 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;usingSystem.Xml;usingSys... 阅读全文
posted @ 2010-01-12 14:35 HappyZeng 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;namespaceUBISerialsController{///<summary>///Class1的摘要说明。///</summary>public... 阅读全文
posted @ 2010-01-10 01:09 HappyZeng 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 1.创建C#工程  创建一个EXE工程,可以是WinForm或者命令行格式的。添加对System.ServiceProcess.dll和System.Configuration.Install.dll的引用。2. 创建服务类  新增一个类,该类型继承System.ServiceProcess.ServiceBase类型,在构造函数中设置ServiceName 属性来指明该服务的名称。然后重载它的O... 阅读全文
posted @ 2010-01-09 16:11 HappyZeng 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 将控件置于顶层:BringToFront()方法将控件置于底层:SendToBack()方法 阅读全文
posted @ 2009-11-18 16:03 HappyZeng 阅读(291) 评论(0) 推荐(1) 编辑
摘要: 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:DateTime.ToString的方法(String, IFormatProvider)  using System; using System.Globalization; String format="D";... 阅读全文
posted @ 2009-11-16 10:34 HappyZeng 阅读(174) 评论(0) 推荐(0) 编辑