摘要:
本文的目标是用不到140行的C#代码编写一个简单的面向对象的数据库(OODB)。很显然这不会是一个最简单的项目;但是C#和.NET框架提供了很多内置的函数,我们可以利用它们来帮助我们实现这一目标。这个数据库的要求如下: 必须能够保存对象的状态,而不需要向对象加入额外的信息,也不需要准确地告诉数据库如何保存对象。 必须能够从数据存储区里获得对象,并向用户提供一个完整的业务对象,而... 阅读全文
摘要:
.NET提供了Soap序列化的方式可以实现 object xml ,但是它有三个缺点:(1)它要求object 必须打上[Serializable]标签,这是强侵入性的。(2).NET的Soap序列化与程序集的版本紧密关联,如果object的class定义没有发生变化,而定义该class的程序集版本发生了变化,那么反序列化(xml->object)可能就会失败。(3).NET的Soap序列化得到... 阅读全文
摘要:
初学者在理解委托和事件时常常被msdn搞糊涂,为了让初学.net的人快速应用.net的委托和事件模型编程,我在这里主要是提出理解的关键,以下代码都可直接运行,先看下面的代码。 using System; namespace delegeteTest{ class delegeteClass { publi... 阅读全文
摘要:
函数重载 如何讲函数重载: What——函数重载是什么? why——为什么要用函数重载,没有函数重载会怎样? how——举例说明怎么使用函数重载 ******************************************************************************* 能使名字方便使用,是任何程序设计语言的一个重要特征。 当我们创建一个对象(即变... 阅读全文
摘要:
1. 你通常怎样用多态? 假设我有一个类,里面有一个 PrintStatus 方法,用于打印实例的当前状态,我希望该类的派生类都带有一个 PrintStatus 方法,并且这些方法都用于打印其实例的当前状态。那么我会这样表达我的愿望: // Code #01 class Base{ public virtual void PrintStatus() { Console.WriteLine("... 阅读全文
摘要:
我喜欢的作者Simon Singh真是个善于分析的奇才。在他的书中,他出神绘色地分析概念,不仅通俗易懂,而且让你难以忘记。因为他会使你脑中呈现一个概念的景象。 前几天在工作时,我听到了我的一个同事正给一位客户解释有关内存的使用和为什么会出现内存异常。虽然我在早期的一篇文章中谈到了内存溢出和内存管理,但我觉得他的分析实在太有趣了,因此我想将此分享给大家。 声明... 阅读全文
摘要:
无法验证数据。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 无法验证数据。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息... 阅读全文