随笔 - 163, 文章 - 1, 评论 - 20, 阅读 - 14万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

03 2011 档案

摘要:Visual Studio 2008更新:2007 年 11 月使用“项目设计器”的“生成”页可以指定项目的生成配置属性。此页仅适用于 Visual C# 项目。说明:以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。您具有的 Visual Studio 版本以及使用的活动设置决定了这些元素。此主题是基于已选择“常规开发”设置的假设而编写的。若要查看或更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。有关更多信息,请参见Visual Studio 设置。配置和平台通过以下选项可以选择要显示或 阅读全文

posted @ 2011-03-31 17:40 steve.z 阅读(2545) 评论(0) 推荐(0) 编辑

摘要:内存溢出通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间。为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生 阅读全文

posted @ 2011-03-30 15:25 steve.z 阅读(5810) 评论(0) 推荐(2) 编辑

摘要:GDI+由.NET基类集组成,这些基类可用于在屏幕上完成定制绘图,能把合适的指令发送到图形设备的驱动程序上,确保在监视器屏幕上显示正确的输出(或打印到硬拷贝中)。一、理解绘图规则1、 GDI和GDI+一般来说,Windows的一个优点(实际上是现代操作系统的一个优点)是它可以让开发人员不考虑特定设备的细节,例如:不需要理解硬盘设备驱动程序,只需在相关的.NET类中调用合适的方法(以前是等价的Windows API 函数),就可以编程读写磁盘上的文件。这些规则也适用于绘图,计算机在屏幕绘图时,把指令发送给视频卡,问题是市面上有几百种不同的视频卡,大多数有不同的指令集和功能,如果把这个考虑在内,在 阅读全文

posted @ 2011-03-28 21:31 steve.z 阅读(396) 评论(0) 推荐(0) 编辑

摘要:软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。 耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。 模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。 降低模块间的耦合度能减少模块间的影响,防... 阅读全文

posted @ 2011-03-28 20:33 steve.z 阅读(2044) 评论(0) 推荐(0) 编辑

摘要:实际上还是父类分配父类的内存空间,子类分配子类的内存空间。[子类只分配自己特有的成员的内存,其他的使用父类的],最终合并到了一起,这里只是这么理解。通过this.age和base.age使用同一个内存地址也可以看出,这种理论也可以解释为什么构造函数不能被继承,只能子类来调用父类的构造函数。因为父类构造函数是要用来为父类分配内存空间,子类“调用”而非“继承”父类构造函数。然后在调用自己的构造函数。 如果子类重写父类的方法时,通过虚方法表来寻找子类的实现。在实例化子类对象时,是先构造父类的内存块,然后再构造子类的(子类相对于父类扩展了的那些)。编译器的调用过程是先调用基类的构造函数,对派生类中的基 阅读全文

posted @ 2011-03-28 14:16 steve.z 阅读(365) 评论(0) 推荐(0) 编辑

摘要:“类型安全” “静态类型安全”,在编译时检查类型是否一致。 “动态类型安全”,.net4.0里的dynamic类型,在运行时,会提前获得dynamic类型实际的类型。(异常不知道算不算?) string[] s = new string[10]; for (int i = 0; i < 100; i++) { Console.WriteLine(s[i]); } 对任何引用的对象进行操作,CLR都知道此对象是何种类型的; CLR在对一个引用对象进行操作时,它先会检查此引用的类型, 查看本次操作是否有效;若无效,编译将不能通过。 从另一个方面来说, “C#是类型安全的”指的是: CLR在程 阅读全文

posted @ 2011-03-28 11:24 steve.z 阅读(1261) 评论(0) 推荐(0) 编辑

摘要:本着代码重用,减少变量的创建,希望参数能够重复使用.错误如下:另一个 SqlParameterCollection 中已包含 SqlParameter。错误详细信息:System.ArgumentException: 另一个 SqlParameterCollection 中已包含 SqlParameter。具体原因:声明的SqlParameter数组,而在循环的内部,每一次执行ExecuteNonQuery都由该方法内部的IDbCommand.Parameters.Add(IDbDataParameter)将SqlParameter数组添加到IDbCommand的IDataParameterC 阅读全文

posted @ 2011-03-28 09:11 steve.z 阅读(1045) 评论(0) 推荐(1) 编辑

摘要:Lucene.net 项目有将近1年没有出官方版本了,从去年年初就听说好像出什么问题了,但一直没有看到官方说法。最近搜了一下,这个项目好像确实停了。Apache 开源基金会已经把这个项目的主页下掉了,放到孵化器里面去了。这个项目目前用户还是很多的,包括博客园的找找看,我估计也是基于这个 lucene.net 的,停了还是比较可惜的,希望它的分支能继续发展起来。下面把我看到的相关文章,我大概给介绍一下,看看这个项目到底是出了什么问题。首先看这篇:Lucene.Net needs your help (or it will die)这篇文章是去年11月1日发布的,这个帖子大概是说 Lucene.n 阅读全文

posted @ 2011-03-25 09:47 steve.z 阅读(281) 评论(0) 推荐(1) 编辑

摘要:1.关于bin目录和obj目录 Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。 obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译 阅读全文

posted @ 2011-03-24 14:05 steve.z 阅读(2192) 评论(0) 推荐(0) 编辑

摘要:生成、重新生成或清理整个解决方案在解决方案资源管理器中,选择或打开所需的解决方案。 在“生成”菜单上,选择“生成解决方案”、“重新生成解决方案”或“清理解决方案”。 选择“生成”或“生成解决方案”,将只编译自上次生成以来更改过的那些项目文件和组件。 说明:如果解决方案中包括多个项目,则“生成”命令将变成“生成解决方案”。 选择“重新生成解决方案”,将首先“清理”解决方案,然后生成所有项目文件和组件。 选择“清理解决方案”将删除所有中间文件和输出文件,只留下项目文件和组件文件,以后可以从这些文件生成中间文件和输出文件的新实例。生成或重新生成单个项目在解决方案资源管理器中,选择或打开所需的项目。 阅读全文

posted @ 2011-03-24 11:31 steve.z 阅读(1753) 评论(0) 推荐(0) 编辑

摘要:http://reflectoraddins.codeplex.com/ 阅读全文

posted @ 2011-03-22 15:52 steve.z 阅读(266) 评论(0) 推荐(0) 编辑

摘要:Delegate.InvokeDelegate.Invoke is used to execute a delegate on the current thread. A delegate is just a reference to a function or method, and Delegate.Invoke is the mechanism to call this function or method (similar to a normal function call).Delegate.BeginInvokeDelegate.BeginInvoke is used to exe 阅读全文

posted @ 2011-03-14 13:31 steve.z 阅读(1229) 评论(0) 推荐(1) 编辑

摘要:问题的产生: 我的WinForm程序中有一个用于更新主窗口的工作线程(worker thread),但文档中却提示我不能在多线程中调用这个form(为什么?),而事实上我在调用时程序常常会崩掉。请问如何从多线程中调用form中的方法呢? 解答: 每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个消息泵循环(message pump loop)来执行的。消息循环都必须有一个相对应的线程,因为发送到一个window的消息实际上只会被发送到创建该window的线程中去。其结果是,即使提供了同步(synchronization),你也无法从 阅读全文

posted @ 2011-03-09 16:03 steve.z 阅读(397) 评论(0) 推荐(0) 编辑

摘要:BeginInvoke 方法真的是新开一个线程进行异步调用吗?参考以下代码:public delegate void treeinvoke();private void UpdateTreeView(){ MessageBox.Show(System.Threading.Thread.CurrentThread.Name);}private void button1_Click(object sender, System.EventArgs e){ System.Threading.Thread.CurrentThread.Name = "UIThread"; treeVi 阅读全文

posted @ 2011-03-09 16:01 steve.z 阅读(368) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示