吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页

2012年1月19日

委托使用示例

摘要: 一、示例: 用户输入两个操作数,再选择运算方法(加减乘除),程序即可算出结果。这个示例的关键之处在于它使用委托在运行时动态地调用不同的方法。1、先定义一个CalculateDelegate类型的私有字段curOpt,它将引用完成不同计算任务的方法://声明委托类型 public delegate double CalculateDelegate(double x,double y); //当前操作类型 private CalculateDelegate curOpt;2、定义一个方法,可以接收一个委托: //完成计算工作 void DoCalcu... 阅读全文

posted @ 2012-01-19 11:26 _eagle 阅读(409) 评论(0) 推荐(0) 编辑

2012年1月18日

.net异常处理

摘要: 在C#中,当出现某种异常时,就会创建一个异常对象。这个对象包含有助于跟踪问题的信息。我们可以创建自己的异常类,但.NET已经提供了许多预定义的异常类异常类ExceptionSystemException 这个是由公共语言运行库引发的异常,派生于systemExecption类ApplicationException 由用户程序执行的异常,派生于ApplicationException类try-catch语句由一个try块后跟一个或多个catch子句构成在catch块中可以使用throw语句再次引发已由catch语句捕获异常throw语句用于发出在程序执行期间出现反常情况(异常)的信息。引发的异 阅读全文

posted @ 2012-01-18 14:02 _eagle 阅读(3693) 评论(0) 推荐(0) 编辑

.net对象销毁相关(IDisposable和using)

摘要: CLR 有一个 垃圾收集GC 机制,可以管理内存分配和回收等工作,在绝大多数情况下,程序员只需要new 一个对象,而将销毁这一对象的工作完全交给CLR代劳。但是,我们所编写的类中使用了非托管的资源,比如文件句柄,用于线程同步的Mutex对象,或者是数据库连接,这些资源应该遵循“即需即建即销毁”的原则,这就是说:需要的时候才创建这些对象,用完之后就马上销毁。析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用dele 阅读全文

posted @ 2012-01-18 12:25 _eagle 阅读(3795) 评论(0) 推荐(1) 编辑

silverlight在XAML资源中实例化CLR对象

摘要: 可以在资源中创建.net基类库中现有类型(或用户项目中的自定义类型)的对象,当程序运行时会自动实例化它们。示例:先创建一个Student类。public class Student { public string Name { get; set; } public bool IsFemale { get; set; } public override string ToString() { ... 阅读全文

posted @ 2012-01-18 11:02 _eagle 阅读(844) 评论(0) 推荐(0) 编辑

2012年1月17日

单例模式(Singleton)

摘要: 首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了,比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个,这里就可以通过单例模式来避免两个打印作业同时输出到打印机中,即在整个的打印过程中我只有一个打印程序的实例。简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。 下面来看单例模式的结构图(图太简单了)从上面的类图中可以看出,在单例类中有一个构造函数 Singleton ,但是这个构造函数却是私有的(前面是“ - ”符号),然后在里面还公开了一个 GetInstan. 阅读全文

posted @ 2012-01-17 23:28 _eagle 阅读(237) 评论(0) 推荐(0) 编辑

明晰Silverlight中的依赖属性

摘要: 转自:http://www.cnblogs.com/024hi/archive/2010/02/02/unleash_dependencyproperty_in_silverlight.html在c#中--得益于c#3.0中的自动属性--我们可以十分轻松的通过如下代码创建一个叫做“AuthorName”的属性。public string AuthorName { get; set; } 上面的代码就是我们熟悉的CLR属性,我们可以很方便的读/取这个属性的值。不过在silverlight的世界中如果你想做更多更牛的事情,CLR属性就显得有些力不从心了。它们包括--动画、数据绑定、样式/模板等等。 阅读全文

posted @ 2012-01-17 22:56 _eagle 阅读(169) 评论(0) 推荐(0) 编辑

2012年1月16日

分部类和分部方法

摘要: 在面向对象的“封装闭合性”开发原则中,一向提倡的是把独立的功能封装在一个类里面的!但从Visual Studio 2005开发,系统提供了一个分部类的开发方式一直受到争议,很多人认为把同一类的功能分布不同的文件中,是打破了“封装闭合原则”,一个类的功能变得难以管理,大多数人都是在无奈的情况下才使用到分部类的方式。但在winFrom类、页面类、DataSet里面你经常可以发现分部类的身影,当你用到Entity Framework的时候,你会发现每个映射生成的对象都是使用分部类的方式生成的,分部类似乎早已派上用场。分部类究竟有什么好处,下面为大家一一揭露。一、分部类根据微软的定义,分部类就是“将类 阅读全文

posted @ 2012-01-16 23:37 _eagle 阅读(363) 评论(0) 推荐(0) 编辑

C# 4.0 新特性dynamic、可选参数、命名参数等

摘要: 转自:http://www.cnblogs.com/yukaizhao/archive/2010/05/24/csharp-40-dynamic-optional-argument.html1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 :?123var t = new Object(); t.Abc = ‘something’; t.Value = 243;现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoObject类型。如下例:?12345678static void Main(string[] args) { d 阅读全文

posted @ 2012-01-16 22:59 _eagle 阅读(262) 评论(0) 推荐(0) 编辑

关于.net 4.0新增的 Tuple类

摘要: 引:在很多场合的,我们需要一个方法返回多个值,我们有多种方式来实现。1.使用全局变量2.使用out 和 ref 参数3.把多个返回值封装为 struct 或 class4.使用Tuple.net 4.0在基类库中添加了一个有趣的 Tuple类,它代表一个有序的N元组。所谓元组,其实就是“数值对”,比如以下就是一个3元组:(100,200,300)可以调用Tuple.Create静态方法或使用new 关键字直接创建一个Tuple对象。 .net 类库中定义了拥有1-7个泛型参数的泛型Tuple.使用Tuple对象作为方法返回值,可以很容易地包含多个结果。namespace DivideUseTu 阅读全文

posted @ 2012-01-16 22:50 _eagle 阅读(486) 评论(0) 推荐(0) 编辑

泛型的典型应用

摘要: 本示例程序的功能是找出数组中的最大值和最小值首先,定义一个泛型结构Pair保存这个值: public struct Pair<T> { public T Max; public T Min; }接着,设计一个泛型类MaxMin,提供一个公有的GetMaxMinVauleFromArray方法封装“查找数组中最大值和最小值算法。public class MaxMin<T> where T : IComparable<T>{//处理数据,获取最大值最小值public static Pair<T> GetMaxMinVauleFromArray(T[] 阅读全文

posted @ 2012-01-16 16:35 _eagle 阅读(517) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页