随笔分类 - C#
摘要:using System; using System.IO; namespace BoilerEventAppl { // boiler 类 class Boiler { private int temp; private int pressure; public Boiler(int t, int
阅读全文
摘要:介绍非线程安全的单例版本简单线程安全版本(通过lock实现)Double-checked locking不完全懒汉式,但不加锁的线程安全完全懒汉实例化使用.NET 4 Lazy type 特性性能 vs 懒汉式Exceptions总结介绍单例模式是软件工程学中最富盛名的设计模式之一。从本质上看,单例模式只允许被其自身实例化一次,且向外部提供了一个访问该实例的接口。通常来说,单例对象进行实例化时一般...
阅读全文
摘要:继承,多态,封装在C#中,为了能够合理描述自然界的规律,面向对象的编程引入了继承的概念,是面向对象编程中最重要的概念之一,定义了如何根据现有的类创建新类的过程.继承:一个类派生出来的子类具有这个类所有的公共属性和方法。父类派生子类,子类继承父类。语法-- 子类:父类子类和父类被继承的类称为父类或基类,继承其他类的类称为子类或派生类,子类不仅具有自己的独有的成员,还有父类的成员。Is a 的应用在两...
阅读全文
摘要:在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的函数,其中那个申...
阅读全文
摘要:尽管上面的范例很好地完成了我们想要完成的工作,但是我们不仅疑惑:为什么.Net Framework 中的事件模型和上面的不同?为什么有很多的EventArgs参数?在回答上面的问题之前,我们先搞懂 .Net Framework的编码规范:委托类型的名称都应该以EventHandler结束。委托的原型定义:有一个void返回值,并接受两个输入参数:一个Object 类型,一个 EventArgs类型...
阅读全文

浙公网安备 33010602011771号