摘要: 在困惑了两天两夜,使用google搜索了所有能搜到的相关错误信息的网页,始终未果。把XP所有的补丁打了几遍,把XP重装两遍,俄版的,大上海版的。又装了windows server 2003,还是报如下错误:[03/19/04,13:42:05] Visual Studio .NET Enterprise Architect 2003 - CHS: [2] ERROR: 内部错误 2337。[03/... 阅读全文
posted @ 2004-03-20 20:05 修多 阅读(11315) 评论(31) 推荐(0)
摘要: 循环变量由类型和标识符声明,且表达式与收集相对应。循环变量代表循环正在为之运行的收集元素。不能赋一个新值给循环变量,也不能把它当作ref 或out 参数。这样引用在内含语句中被执行的代码。 类支持foreach 语句,类必须支持具有GetEnumerator()名字的方法,而且由其所返回的结构、类或者接口必须具有public方法MoveNext() 和public 属性Current。 阅读全文
posted @ 2004-03-20 17:06 修多 阅读(822) 评论(0) 推荐(0)
摘要: abstract——说明一个方法或存取标志不能含有一个实现。它们都是隐式虚拟,且在继承类中,必须提供override关键字。const——这个修饰符应用于域成员或局部变量。在编译时常量表达式被求值,所以,它不能包含变量的引用。event ——定义一个域成员或属性作为类型事件。用于捆绑客户代码到类的事件。extern——告诉编译器方法实际上由外部实现。override——用于改写任何基类中被定义为v... 阅读全文
posted @ 2004-03-20 17:06 修多 阅读(422) 评论(0) 推荐(0)
摘要: new——仅允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的,与基类中同名的成员。internal——只有对包.Net中的应用程序或库才能访问。abstract——关于抽象类的重要一点就是它不能被实例化。只有不是抽象的派生类才能被实例化。派生类必须实现抽象基类的所有抽象成员。不能给抽象类使用sealed 修饰符。sealed——密封类不能被继承。使用该修饰符防止意外的继承,在.NET框架中... 阅读全文
posted @ 2004-03-20 17:05 修多 阅读(487) 评论(0) 推荐(0)
摘要: 把客户代码关联到类通知的办法——使用事件 using System; // 向前声明public delegate void EventHandler(string strText); class EventSource{ public event EventHandler TextOut; public void TriggerEvent() { if (nul... 阅读全文
posted @ 2004-03-20 17:05 修多 阅读(459) 评论(0) 推荐(0)
摘要: 有两种途径揭示类的命名属性——通过域成员或者通过属性。前者是作为具有公共访问性的成员变量而被实现的;后者并不直接回应存储位置,只是通过存取标志(accessors)被访问。 当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取标志记为关键字get,而要修改属性的值的读写符标志记为set。 using System; public class House{ priva... 阅读全文
posted @ 2004-03-20 17:04 修多 阅读(457) 评论(0) 推荐(0)
摘要: 重定义方法的一个不同手段就是要屏蔽基类的方法。当从别人提供的类派生类时,这个功能特别有价值。 具有了修饰符new,你就可以告诉编译器,不必重写派生类或改变使用到派生类的代码,你的方法就能屏蔽新加入的基类方法。 class BaseClass{ public void TestMethod() { Console.WriteLine("BaseClass::TestMeth... 阅读全文
posted @ 2004-03-20 17:01 修多 阅读(467) 评论(0) 推荐(0)
摘要: 基类中,virtual 关键字设计方法:virtual void CanBOverridden()当从基类派生时,所有你要做的就是在新方法中加入override关键字:override void CanBOverridden() 调用基类实现 dArea = base.ComputeArea(a,b,c); 阅读全文
posted @ 2004-03-20 17:00 修多 阅读(378) 评论(0) 推荐(0)
摘要: 传递参数可以把它设作一个输出参数。正如该名字所暗示,一个输出参数仅用于从方法传递回一个结果。它和引用参数的另一个区别在于:调用者不必先初始化变量才调用方法。 using System; public class SquareSample{ public void CalcSquare(int nSideLength, out int nSquared) { nSquare... 阅读全文
posted @ 2004-03-20 16:59 修多 阅读(575) 评论(0) 推荐(0)
摘要: 要传递值并原地修改它(也就是在相同的内存位置),用引用参数就很方便。void myMethod(ref int nInOut)因为传递了一个变量给该方法(不仅仅是它的值),变量必须被初始化。否则,编译器会报警。 // class SquareSampleusing System; public class SquareSample{ public void CalcSquare(ref i... 阅读全文
posted @ 2004-03-20 16:59 修多 阅读(505) 评论(0) 推荐(0)
摘要: 从目前来看,项目进展比较缓慢,以后几天要加速开发了。 剩下的东西还是比较多的,权限的设计很复杂,另外,报表也是个大头。 今天主要是找到了Web打印的好东西:ScriptX.cab,有了这东西,我就可以在网页中使用JavaScript进行打印设置了。 实现横打,并且无页眉和页脚。 阅读全文
posted @ 2004-03-20 16:56 修多 阅读(4013) 评论(9) 推荐(0)
摘要: 1、 对象的初始化(1) 非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化。 基本类型:int型,初始化为0。 如果为对象:这些对象会按顺序初始化。 ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象。 构造方法的作用就是初始化。 (2) 静态对象的初始化 程序中主类的静态变量会在main方法执行前初始化。 不仅第一次创建对象时,类中的所有静态变量都初始化,并且第... 阅读全文
posted @ 2004-03-20 16:45 修多 阅读(3015) 评论(1) 推荐(0)