不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Windows 应用程序中"无法更新"Access2000数据库
编辑:dnawo 日期:2009-08-09
今天头一次在Windows 应用程序中使用Access数据库,奇怪的是代码执行后所有操作似乎被回滚了,但程序又没报错。下边是一段添加记录的代码:
复制内容到剪贴板
程序代码

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\DB\\db1.mdb;Persist Security Info=True"))
{
conn.Open();
{
conn.Open();
从安装盘中提取 Visual Studio 2005/2008 图像库
编辑:dnawo 日期:2009-08-08
C#移位运算符小节
编辑:dnawo 日期:2009-08-07
Effective C# 原则21:用委托来表示回调
编辑:dnawo 日期:2009-08-07
.NET实现DataSet转Excel
编辑:dnawo 日期:2009-08-05
修改IE查看源文件时使用的查看程序
编辑:dnawo 日期:2009-08-05
在IE中选择查看源文件时,系统默认是打开notepad来查看,但安装UltraEdit后,被改成了使用UltraEdit查看源文件,比较不习惯。恢复方法:
①.展开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name;
②.默认值原为C:\Program Files\IDM Computer Solutions\UltraEdit\uedit32.exe,修改成C:\WINDOWS\system32\notepad.exe即可;
①.展开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name;
②.默认值原为C:\Program Files\IDM Computer Solutions\UltraEdit\uedit32.exe,修改成C:\WINDOWS\system32\notepad.exe即可;
WinForm用户控件:ComboTextBox
编辑:dnawo 日期:2009-08-05
Effective C# 原则20:明辨接口实现和虚函数重载的区别
编辑:dnawo 日期:2009-08-05
粗略的看一下,感觉实现接口和虚函数重载是一样的。你定义了一些对象,但是这些对象是在另一个类型里申明的。你被第一感觉骗了,实现接口与虚函数重载是完全不同的。在接口里定义的成员默认情况下,是根本不存在实际内容的。
派生类不能重载基类中的接口成员。接口可以隐式的实现,就是把它们从类的公共接口中隐藏。它们的概念是不同的而且使用也是不同的。
但你可以这样的实现接口:让你的派生类可以修改你的实现。你只用对派生类做一个Hook就行了。(译注:相信写过C++程序的人就知道hook是什么意思,而且我也实在想不到把hook译成什么比较好,所以就直接用hook这个原词了,就像bug一样。)
派生类不能重载基类中的接口成员。接口可以隐式的实现,就是把它们从类的公共接口中隐藏。它们的概念是不同的而且使用也是不同的。
但你可以这样的实现接口:让你的派生类可以修改你的实现。你只用对派生类做一个Hook就行了。(译注:相信写过C++程序的人就知道hook是什么意思,而且我也实在想不到把hook译成什么比较好,所以就直接用hook这个原词了,就像bug一样。)
ASP.NET监听用户控件的按钮点击事件
编辑:dnawo 日期:2009-08-04
Effective C# 原则19:选择定义和实现接口,而不是继承
编辑:dnawo 日期:2009-08-04
抽象类在类的继承中提供了一个常规的“祖先”。一个接口描述了一个可以被其它类型实现的原子级泛型功能。各有千秋,却也不尽相同。接口是一种合约式设计:一个类型实现了某个接口的类型,就必须实现某些期望的方法。抽象类则是为一个相关类的集合提供常规的抽象方法。这些都是老套的东西了:它是这样的,继承就是说它是某物(is a,),而接口就是说它有某个功能(behaves like.)! 这些陈词滥调已经说了好久了,因为它们提供了说明,同时在两个结构上描述它们的不同:基类是描述对象是什么,接口描述对象有某种行为。
接口描述了一组功能集合,或者是一个合约。你可以在接口里创建任何的占位元素(placeholder,译注:就是指先定义,后面再实现的一些内容):方法,属性,索引器以及事件。任何实现类型这个接口的类型必须为接口里的每个元素提供具体的内容。你必须实现所有的方法,提供全部属性访问器,索引器,以及定义接口里的所有事件。你在接口里标记并且构造了可重用的行为。你可以把接口当成参数或者返回值,你也可以有更多的机会重用代码,因为不同的类型可以实现相同的接口。更多的是,比起从你创建的基类派生,开发人员可以更容易的实现接口。(译注:不见得!)
你不能在接口里提供任何成员的具体实现,无论是什么,接口里面都不能实现。并且接口也不能包含任何具体的数据成员。你是在定义一个合约,所有实现接口的类型都应该实现的合约。
接口描述了一组功能集合,或者是一个合约。你可以在接口里创建任何的占位元素(placeholder,译注:就是指先定义,后面再实现的一些内容):方法,属性,索引器以及事件。任何实现类型这个接口的类型必须为接口里的每个元素提供具体的内容。你必须实现所有的方法,提供全部属性访问器,索引器,以及定义接口里的所有事件。你在接口里标记并且构造了可重用的行为。你可以把接口当成参数或者返回值,你也可以有更多的机会重用代码,因为不同的类型可以实现相同的接口。更多的是,比起从你创建的基类派生,开发人员可以更容易的实现接口。(译注:不见得!)
你不能在接口里提供任何成员的具体实现,无论是什么,接口里面都不能实现。并且接口也不能包含任何具体的数据成员。你是在定义一个合约,所有实现接口的类型都应该实现的合约。