![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 63
zlghitler
路有多远!
展开
-
C#编程规范
养成良好的编码风格是极其必要的,谁也不愿意看到一堆杂乱无章的代码,将来你或者别人在维护的时候是多么的痛苦,所以,从现在开始,养成良好的编码习惯,包括变量命名,注释,代码缩进....。1 .利用Pascal的方式定义类型、方法名和常量 public class SomeClass { const i转载 2007-06-21 18:32:00 · 647 阅读 · 0 评论 -
WPF制作透明按钮
使用Blend的强大功能制作透明按钮!详细原创 2007-11-27 17:11:00 · 1567 阅读 · 0 评论 -
c#面向对象设计模式之Singleton
模式分类: 创建型模式:负责对象创建。 结构型模式:处理类与对象间的组合。 行为型模式:类与对象交互中的职责分配。 Singleton模式的几个要点: 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 Singleton模式中的实例构造器可以设置为Protected以允许子类派生。 Singleton模式一般不要支持ICioneable接口,因为这可能会原创 2008-03-29 14:29:00 · 670 阅读 · 0 评论 -
c#面向对象设计模式之工厂模式
//////////////////////////////////////////// 抽象工厂(创建型模式) new的问题: 实现依赖,不能应对“具体实例化类型”的变化。 解决思路: 1.封装变化点 ---- 那里变化,封装那里。 2.潜台词:如果没有变化,当然不需要额外的封装 ! 工厂模式的源起: 变化点在“对象创建”,因此就封装“对象创建” 面向接口编程 -- 依赖接口,而非依赖实现。原创 2008-03-29 14:32:00 · 794 阅读 · 0 评论 -
WPF之数据绑定
WPF数据邦定: /***********************************************/ 界面到数据源 自动。数据源到界面。 数据绑带四要素: 1.目标对象 2.目标属性。 3.源对象。 4.绑定路径。 绑定模式: 1.OneWay:数据源 --->绑定目标; 2.TwoWay:数据员 绑定目标; 3.OneWayToSource: 数据源 4.OneTime: 数原创 2008-03-29 14:34:00 · 639 阅读 · 0 评论 -
C#语言的几个层次
C#语言的几个层次接到一位前不久C#培训学员的来信,这位学员虽然以前功底欠缺,但学习劲头很足,在培训中成长很快。即便基本吃透《.NET框架(修订版)》还嫌不够过瘾,一心要成为高手中的高手。来信的目的是希望我来指点进阶方向。说实话,我一般不想在这些有关个人发展的大是大非的问题上给人指导,因为太多亲身或眼见的经历告诉我人生实在是很难捉摸,善良、智慧、勤奋这些我们珍视的品格常常会碰到可怕的现实。转载 2008-03-29 14:37:00 · 578 阅读 · 0 评论 -
WPF之Brush浅见
Window2 win = new Window2(); /* * VisualBrush的三个要素: * 1.内容 (VisualBrush.Visual) * 2.图块 (VisualBrush.Viewbox) * 3.输出区域(VisualBrush.Viewport) */ win.VisualBrushTest.Visual = this.stack; win.VisualBrus原创 2008-04-02 17:32:00 · 1674 阅读 · 0 评论 -
构建WPF开发站
原文:http://blogs.msdn.com/tims/archive/2006/12/20/building-a-perfect-wpf-developer-workstation.aspx作者:Tim Sneath译者:Tony Qu你已经确信WPF是下一代应用程序的战略级技术,你已打算利用这个机会好好规划并重新安装你的开发工作站。 那么你应该在这个工作站上放些什么,才可以创建一个完美的W转载 2008-06-06 11:01:00 · 639 阅读 · 0 评论 -
.Net中的序列化方法
.Net中的序列化方法有三种:XML 序列化、SOAP 序列化和二进制序列化。若是序列化到文件的话,前两者生成的是 XML 文件,二进制序列化生成二进制文件。 跟序列化相关的两个类型: SerializableAttribute:指示一个类是可以序列化的。 ISerializable:使对象可以自己控制其序列化和反序列化的过程。 列表比较三种序列化方法。转载 2008-06-12 18:49:00 · 1140 阅读 · 0 评论 -
想成为最牛程序员吗?以下几点有助你实现这个目标。
想成为最牛程序员吗?以下几点有助你实现这个目标。Tip 1 要方法而不是记忆我的一个程序员朋友常跟我说记住超过200个C++函数是多么的有帮助。“我从来不必去查找函数的定义,因此我可以比其他程序员编程快上50%。” 他自豪的说。可结果是什么?难道他不知道编译器的代码自动完成功能可以节约大量查找函数及输入函数的时间吗,另外当C#发布出来后,他在记忆函数上面的努 力就白费了。当然,编程中对函数转载 2008-06-16 09:32:00 · 842 阅读 · 0 评论 -
Visual C# 应用程序开发 之 如何:使用外侧代码段
以下过程描述如何使用外侧代码段。可通过三种方法使用外侧代码段:通过键盘快捷键、通过“编辑”菜单,以及通过上下文菜单。通过键盘快捷键使用外侧代码段 在 Visual Studio IDE 中打开要编辑的文件。 在“代码编辑器”中,选择要添加外侧代码段的文本。 键入 Ctrl+K、Ctrl+S转载 2007-06-14 18:52:00 · 2760 阅读 · 0 评论 -
Visual C# 应用程序开发 之 使用代码段 (C#)
以下过程描述如何使用代码段。可以通过五种方式使用代码段:键盘快捷键,IntelliSense 自动完成,IntelliSense 完成单词列表,“编辑”菜单,上下文菜单。通过键盘快捷键使用代码段 在 Visual Studio IDE 中打开要编辑的文件。 在“代码编辑器”中,将光标置于要插入代码段的位置。转载 2007-06-14 18:48:00 · 674 阅读 · 0 评论 -
深入理解C# 3.0的五项主要改进 (LINQ)
5 .LINQ 在之前的C#版中,开发者应用许多不同的查询语言来访问不同的数据源。例如,要查询一个XML文件,开发者会使用XPath,要查询一个SQL数据库,开发者将使用SQL。在过去这种方法十分有效,并且现在仍然是访问各种数据的主要方法。但是,这种方法具有一些缺点。 一个显著的缺点在于:开发者必须以一种不同的语言,而非他们当前使用的语言(如SQL或XPath)来编写查询代码。另一个缺点是,在执转载 2007-07-24 20:53:00 · 919 阅读 · 0 评论 -
深入理解C# 3.0的五项主要改进(隐型局部变量)
1.隐型局部变量 C# 3.0引入了一个叫做“var”的新关键字。这个关键字允许开发者建立一个变量,但不必明确它的类型。例如,用var说明一个字符串,就像这样:varmyData = "This is my data"; 注意,这里并没有提到myData变量是一个字符串,而C# 2.0却要求这一点。 虽然var允许您建立隐含的类型,它并没有降低C#浓厚的类型特征。var关键字只有在建立变转载 2007-07-24 20:39:00 · 811 阅读 · 0 评论 -
深入理解C# 3.0的五项主要改进 (extension方法)
2.extension方法 在C#中,您不能继承和扩充用访问标识符标记为“封装”的类型。但在C# 3.0中,extension方法允许您扩充任何类,甚至是标记为封装的类。例如,如果希望添加一个NoSpaces()方法到字符串类中,我们要定义一个类似列表A中的extension方法。 列表AnamespaceMyExtensionMethods{ public static class Exte转载 2007-07-24 20:44:00 · 1382 阅读 · 0 评论 -
深入理解C# 3.0的五项主要改进 (对象初始化器)
3.对象初始化器 在C# 2.0中,开发者认为建立许多构造器来设定某个属性值为对象初始化过程。下面是一个例子: 类访问Customer方法: Customer myCustomer = new Customer("Zach", "Smith"); Customer类构造器: public Customer(string firstName, string lastName) : this()转载 2007-07-24 20:48:00 · 1054 阅读 · 0 评论 -
深入理解C# 3.0的五项主要改进 (匿名类型)
4.匿名类型 C# 2.0引入了匿名方法,C# 3.0推出匿名类型。匿名类型与匿名方法类似,它们都是以嵌入方式建立,并没有正式的名称。在建立一个匿名类型,您必须组合上述对象初始化器和隐型局部变量两个概念。下面是一个匿名类型的例子:varmyType = new { Length = 79, Width = 30 }; 匿名类型的范围与任何其它变量的范围相同。例如,下面代码块中的cobra实例转载 2007-07-24 20:50:00 · 915 阅读 · 0 评论 -
委托学习(1)-------函数指针的改头换面
又是提起委托,我在想的是众人必定皆恼怒,有关这个东西的谈论网上已悠悠不尽,何况我也不是赶时髦,追潮流的人,因此必然无法标新立异;只是把我学习的一些感受作以记录,便于日后回忆,也愿对各位朋友有点帮助。对于学习C/C++语言的朋友,函数指针相信都不会觉得遥远和陌生吧,不管你对它是恨是爱,还是它令你忧伤令你逍遥自在;如果现今你还在使用C/C++,驰骋在Win32平台下怡然自乐,那么有它相伴身边你肯定转载 2007-08-23 18:26:00 · 948 阅读 · 0 评论 -
学习委托(2)-------解析委托的实现机制
在前一篇文章中,从函数指针的角度谈论了委托,本篇文章来看.NET是如何为我们实现委托的。为了讨论方便,把上一次C#委托的代码写在下面: class liyufeng { public static void mySay() { System.Console.WriteLine("I Like You,Do you k转载 2007-08-23 18:29:00 · 791 阅读 · 0 评论 -
委托与事件
示例代码: private void button10_Click(object sender, EventArgs e) ...{ EventHandler en = new EventHandler(Form1_EventH); EventHandler er = new EventHandler(Form1_EventH);原创 2007-08-23 19:33:00 · 897 阅读 · 0 评论 -
Visual C# 应用程序开发 之 代码段 (C#)
Visual Studio 提供了一项称为代码段的新功能。 可以使用代码段键入短的别名,然后在通用编程构造中将其展开。例如,for 代码段创建一个空的 for 循环。有些代码段为外侧代码段,这些代码段允许您先选择代码行,然后选择要并入选定代码行的代码段。例如,选择代码行,然后激活 for 代码段,便可以创建一个 for 循环,选定的这些代码行在该循环块内。代码段可以使程序代码的编写更快、更容转载 2007-06-14 14:24:00 · 950 阅读 · 0 评论 -
自定义属性编辑器
有时候我们需要定义自己的类型并使用属性编辑器使用户能够编辑它,这时候就需要我们自定义属性编辑器。 /// /// 自定义属性编辑器 /// public class TestEditor:UITypeEditor { public override object EditValue(ITypeDescript原创 2008-06-18 13:55:00 · 1107 阅读 · 0 评论