《Visual Basic 2005技术内幕》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(意)巴利纳(Balena,F.)著;贾洪峰译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302138575
  • 页数:774 页
图书介绍:《Visual Basic2005技术内幕》内容全面深入,涵盖的主题十分丰富,并结合大量典型的代码示例来讲解Visual Basic 2005的核心编程技术。《Visual Basic2005技术内幕》共分四部分。首先介绍了Visual Basic 2005的基础知识,然后详细介绍了Visual Basic语言的面向对象特性。之后介绍了有关.NET框架的基本类型。最后介绍了一些高级编程主题,例如线程处理、序列化、PInvoke和COM Interop等。《Visual Basic2005技术内幕》在多处指出了Visual Basic 2005与Visual Basic 6之间的区别以及Visual Basic 2005和.NET框架2.0版中的新功能,并介绍了导入和重用现有Visual Basic代码的最佳方式,从Visual Basic低版本升级的用户可以迅速掌握新工具。《Visual Basic2005技术内幕》是学习Visual Basic语言的高级参考书,适用于所有Visual Basic 开发人员。

第Ⅰ部分 基础知识 3

第1章 Microsoft.NET框架简介 3

.NET术语 3

第2章 基本语言概念 12

2.1 模块、类与命名空间 12

2.1.1 模块 13

2.1.2 类 15

2.1.3 命名空间 26

2.1.4 属性 32

2.2 变量 34

2.2.1 声明与赋值 35

2.2.2 数据类型 43

2.2.3 运算符 51

2.2.4 数组 65

第3章 控制流和错误处理 70

3.1 执行流的控制 70

3.1.1 条件语句和循环语句 70

3.1.2 过程 75

3.1.3 命令、函数和常量 82

3.2 错误处理 86

3.2.1 引发异常 86

3.2.2 Try...Catch...Finally语句 91

3.2.3 Using...End Using语句 98

3.2.4 自定义异常对象 100

第4章 使用Visual Basic 2005 102

4.1 处理项目和解决方案 102

4.1.1 项目和文件模板 102

4.1.2 【解决方案资源管理器】窗口 104

4.1.3 My Project设计器 106

4.1.4 多项目解决方案 110

4.1.5 配置管理器 112

4.1.6 与编译器相关的属性 115

4.2 编写代码 118

4.2.1 代码编辑器 118

4.2.2 XML注释 120

4.2.3 查找与替换 122

4.2.4 书签 125

4.2.5 【错误列表】与【任务列表】窗口 125

4.2.6 代码段 127

4.2.7 重构代码 130

4.3.1 使用【工具】窗口 132

4.3 各种新旧特性 132

4.3.2 导入与导出设置 133

4.3.3 项目和项模板 134

4.3.4 访问联机内容 137

4.3.5 自定义特性 137

4.3.6 宏与命令 140

第5章 调试Visual Basic应用程序 147

5.1 调试技术 147

5.1.1 断点与跟踪点 147

5.1.2 单步执行 150

5.1.3 数据提示和可视化工具 153

5.1.4 处理异常 158

5.2 跟踪与基准测试 160

5.2.1 Debug和Trace类 160

5.2.2 TraceSource类 166

5.2.3 My.Application.Log对象 168

5.2.4 StopWatch类型 169

5.3 单元测试 169

5.3.1 创建测试项目 170

5.3.2 运行测试项目 173

5.3.3 用于单元测试的属性 175

5.3.4 从数据库中加载测试 177

5.3.5 TestContext类型 179

5.3.6 私有访问器 180

5.3.7 代码覆盖 180

5.3.8 性能工具 182

5.4 更多的调试与测试技巧 184

5.4.1 Debugger对象 184

5.4.2 StackTrace对象 185

5.4.3 Debugin-Zone特性 187

5.4.4 Visual Studio宿主进程 189

5.4.5 用于调试的宏 189

5.4.6 测试不同的配置文件 191

第Ⅱ部分 面向对象编程 195

第6章 类的基础知识 195

6.1 字段 195

6.2 方法 198

6.2.1 重载 198

6.2.2 重载与强制转换 200

6.2.3 不明确的情况 200

6.3 属性 201

6.3.1 只读与只写属性 202

6.3.2 Get与Set语句块的不同范围 204

6.3.3 带有参数的属性 205

6.3.4 默认属性 206

6.4 构造函数 206

重载的构造函数 208

6.5 共享成员 209

6.5.1 共享方法 209

6.5.2 共享字段 211

6.5.3 共享属性 213

6.5.4 共享构造函数 214

6.5.5 共享工厂方法 215

6.6 部分类 217

6.7 运算符重载 219

6.7.1 Operator关键字 219

6.7.2 可重载运算符 221

6.7.3 重载CType运算符 223

6.7.4 与其他语言的互操作性 224

6.8 用Visual Studio管理类型 226

6.8.1 【类视图】窗口 226

6.8.2 类设计器工具 226

6.8.3 【对象测试工作台】窗口 228

第7章 委托和事件 229

7.1 委托 229

7.1.1 委托声明 230

7.1.2 委托调用 230

7.1.3 Delegate类型的其他成员 232

7.1.4 回调方法和代码重用 233

7.1.5 委托多路广播 235

7.2.1 利用Handles关键字处理事件 236

7.2 事件 236

7.2.2 WithEvents关键字 238

处理分离类中的事件 239

7.2.3 后台的事件与委托 240

7.2.4 AddHandler关键字 242

7.2.5 捕获数组和集合事件 243

7.2.6 公开事件 245

7.2.7 事件语法的准则 246

7.2.8 自定义事件 248

第8章 继承 251

8.1 继承的基础知识 251

使用派生类 253

8.2 重载基类中的成员 254

8.2.1 重载变体 255

8.2.2 MyBase关键字 256

8.2.3 派生类中的构造函数 257

8.2.4 MyClass关键字 257

8.2.5 成员遮蔽 260

8.2.6 重定义静态成员 262

8.3 密封类和虚拟类 263

8.3.1 NotInheritable关键字 263

8.3.2 MustInherit关键字 264

8.3.3 MustOverride关键字 265

8.4 作用域 266

8.4.1 嵌套类 266

8.4.2 Public,Friend和Private作用域限定符 267

8.4.3 Protected作用域限定符 268

8.4.5 将作用域限定符用于构造函数 269

8.4.4 Protected Friend作用域限定符 269

8.4.6 重定义事件 271

8.5 可视继承 273

8.5.1 基窗体举例 273

8.5.2 继承的窗体举例 274

8.5.3 向基窗体中添加属性、方法和事件 275

第9章 对象生存期 280

9.1 对垃圾收集的需求 280

9.1.1 COM和引用计数器 280

9.1.2 垃圾收集进程 281

9.1.3 Finalize方法 282

9.1.4 Dispose方法 284

9.1.5 结合Dispose和Finalize方法 286

9.1.6 更好的Dispose-Finalize模式 287

9.1.7 派生类中的终结器 289

9.1.8 终结的简化方法 290

9.2 高级技术 292

9.2.1 世代 292

9.2.2 垃圾收集与性能 294

9.2.3 弱对象引用 297

9.2.4 对象复活 299

9.2.5 多CPU计算机上的垃圾收集 300

第10章 接口 302

10.1 定义和实现接口 302

10.1.1 Interface...End Interface语句 302

10.1.2 实现接口 303

10.1.3 访问接口 305

10.1.4 接口与继承 306

10.1.5 接口的重新实现 307

10.1.6 接口与多态 308

10.2 使用.NET接口 311

10.2.1 IComparable接口 311

10.2.2 IComparer接口 312

10.2.3 ICloneable接口 314

10.2.4 IDisposable接口 317

10.2.5 编写集合类 318

第11章 泛型 325

11.1 对泛型的需要 325

11.1.1 传统解决方案 326

11.1.2 基于泛型的解决方案 327

11.2 编写泛型 328

11.2.1 泛型参数 329

11.2.2 泛型约束条件 338

11.3 高级主题 344

11.3.1 可以为空(Nullable)的类型 345

11.3.2 对数学运算符的支持 349

11.3.3 泛型和事件 351

11.3.4 对象池 354

第Ⅲ部分 .NET框架编程 359

第12章 .NET基本类型 359

12.1 System.Object类型 359

12.1.1 公共方法与受保护方法 359

12.1.2 再谈值类型和引用类型 361

12.1.3 装箱和取消装箱 363

12.2.1 属性和方法 364

12.2 字符串类型 364

12.2.2 Missing方法 370

12.2.3 字符串优化 371

12.2.4 CultureInfo类型 372

12.2.5 Encoding类 374

12.2.6 格式化数值 375

12.2.7 设置日期的格式 377

12.2.8 Char类型 380

12.2.9 StringBuilder类型 381

12.2.10 SecureString类型 382

12.3 数字类型 384

12.3.1 属性和方法 384

12.3.2 格式化数字 385

12.3.3 将字符串分析为数字 386

12.3.4 Convert类型 387

12.3.5 随机数生成器 388

12.4 DateTime类型 389

12.4.1 日期值的加减 390

12.4.2 格式化日期 392

12.4.3 分析日期 393

12.4.4 处理时区 394

12.4.5 TimeZone类型 395

12.4.6 Guid类型 396

12.5 枚举值 396

12.5.1 显示并分析枚举值 397

12.5.2 其他Enum方法 398

12.5.3 位编码值 399

13.1 数组类型 400

第13章 数组和集合 400

13.1.1 元素的排序 402

13.1.2 元素的删除、复制与移动 403

13.1.3 搜索值 406

13.1.4 交错数组 407

13.1.5 泛型方法 409

13.2 System.Collections命名空间 413

13.2.1 ICollection、IList和IDictionary接口 413

13.2.2 ArrayList类型 414

13.2.3 Hashtable类型 418

13.2.4 SortedList类型 420

13.2.5 其他集合 423

13.2.6 强类型集合的抽象类型 426

13.3 泛型集合 430

13.3.1 List泛型 431

13.3.2 Dictionary泛型 433

13.3.3 LinkedList泛型 435

13.3.4 其他泛型集合 438

13.3.5 System.Generic.ObjectModel命名空间 440

第14章 正则表达式 443

14.1 正则表达式概述 443

14.1.1 基础知识 444

14.1.2 正则表达式语言 445

14.1.3 正则表达式选项 450

14.2 正则表达式类型 453

14.2.1 Regex类型 453

14.2.2 MatchCollection和Match类型 458

14.2.3 Group类型 458

14.2.4 CaptureCollection和Capture类型 459

14.3 正则表达式应用 460

14.3.1 常见Regex模式 460

14.3.2 查找单词和带引号的字符串 463

14.3.3 验证字符串、数字和日期的有效性 465

14.3.4 查找嵌套标记 467

14.3.5 分析数据文件 468

14.3.6 分析和计算表达式 470

14.3.7 分析代码 472

14.3.8 使用正则表达式 474

第15章 文件、目录和流 476

15.1 Path类型 477

15.2 Directory和File类型 478

15.2.1 列举目录和文件 478

15.2.2 管理目录和文件 479

15.2.3 读取和写入文件 481

15.3 DirectoryInfo和FileInfo类型 482

15.4 DriveInfo类型 484

15.5 FileSystemWatcher类型 485

15.5.1 初始化FileSystemWatcher组件 485

15.5.2 获得通知 486

15.5.3 疑难解答 488

15.6 处理访问控制列表 489

15.6.1 帐户名称和安全标识符 489

15.6.2 DirectorySecurity和FileSecurity类型 490

15.6.3 修改ACL 494

15.7 Stream类型 495

15.7.1 流操作 495

15.7.2 流式阅读器和流式编写器 496

15.7.3 读取和写入文本文件 497

15.7.4 读取和写入二进制文件 500

15.7.5 处理定长和分隔数据文件 501

15.8 其他Stream类型 503

15.8.1 内存流 503

15.8.2 基于字符串的流 504

15.8.3 网络流 505

15.8.4 缓冲流 508

15.8.5 压缩流 508

第16章 My命名空间 511

16.1 My命名空间概述 512

16.1.1 My.Application对象 512

16.1.2 My.Computer对象 518

16.1.3 My.User对象 531

16.1.4 My.Resources对象 532

16.1.5 My.Settings对象 535

16.1.6 My.Forms和My.WebServices对象 541

16.2 扩展和自定义My命名空间 542

16.2.1 添加顶级对象 542

16.2.2 扩展My.Application和My.Computer 543

16.2.3 扩展My.Resources 544

16.2.4 扩展My.Settings 545

16.2.5 使用编译常量 550

第17章 程序集与资源 552

17.1 组件 552

17.1.1 创建.NET类库 553

17.1.2 创建托管组件 554

17.2.1 私有和共享程序集 556

17.2 程序集 556

17.2.2 强名称 558

17.2.3 在GAC中进行安装 561

17.2.4 程序集级别属性 562

17.2.5 InternalsVisibleTo属性 563

17.3 资源和附属程序集 565

17.3.1 资源清单 565

17.3.2 本地化的窗体资源 566

17.3.3 本地化强类型字符串资源 568

17.3.4 自定义资源文件 569

17.3.5 附属程序集 570

17.3.6 附属程序集的属性 571

17.4 绑定进程 572

17.4.1 应用程序配置文件中的版本策略 573

17.4.2 预先加载的程序集及GAC查找 575

17.4.3 基本代码提示 575

17.4.4 探测 576

17.4.5 程序集绑定日志查看器实用工具(FUSLOGVW) 578

17.5 配置文件 578

17.5.1 设置运行库版本 579

17.5.2 .NET框架配置工具 580

17.6 NGen工具 581

17.6.1 使用NGen工具 582

17.6.2 使用NGen服务 583

17.6.3 调试本机映像 584

17.6.4 NGen的属性 585

18.1 使用程序集及模块 589

第Ⅳ部分 高级主题 589

第18章 反射 589

18.1.1 Assembly类型 590

18.1.2 AssemblyName类型 594

18.1.3 Module类型 595

18.2 使用类型 596

18.2.1 检索Type对象 596

18.2.2 探讨类型成员 601

18.2.3 对于泛型的反射 606

18.2.4 属性反射 610

18.2.5 创建自定义对象浏览器 614

18.3 反射示例 617

18.3.1 动态创建对象 618

18.3.2 访问成员 619

18.3.3 InvokeMember方法 620

18.3.4 创建通用比较器 621

18.3.5 事件处理程序的动态注册 623

18.3.6 安排动作序列 628

18.3.7 随时编译 631

18.3.8 性能考虑 633

18.3.9 安全问题 634

第19章 自定义属性 636

19.1 自定义属性简介 637

19.1.1 构造自定义属性类 637

19.1.2 反射自定义属性 639

19.2 用于CSV序列化的自定义属性 640

19.3 构建基准测试工具 646

19.4.1 PluginLibrary项目 649

19.4 为Windows窗体应用程序编写插件 649

19.4.2 MainApplication和MainApplicationStartup项目 652

19.4.3 SamplePlugin项目 655

19.5 n层应用程序的框架 657

19.5.1 DataObjectLibrary项目 658

19.5.2 DataSets项目 664

19.5.3 DemoClient项目 666

19.5.4 DataObjects项目 667

第20章 线程 675

20.1 线程处理基础知识 675

20.1.1 何时使用线程 675

20.1.2 创建线程 676

20.1.3 将数据传递给线程或从中读取数据 677

20.1.4 使用线程 679

20.1.5 线程属性 680

20.1.6 存储和共享数据 682

20.1.7 线程和未处理异常 683

20.1.8 调试线程 685

20.2 线程的同步 686

20.2.1 SyncLock语句 687

20.2.2 同步对象 689

20.2.3 易变化的读写操作 691

20.2.4 Monitor类型 692

20.2.5 Mutex类型 693

20.2.6 Semaphore类型 696

20.2.7 ReaderWriterLock类型 697

20.2.8 Interlocked类型 698

20.2.9 ManualResetEvent、AutoResetEvent和EventWaitHandle类型 699

20.3 使用线程池 702

20.3.1 ThreadPool类型 702

20.3.2 Timer类型 703

20.4 异步操作 704

20.4.1 异步委托 704

20.4.2 异步文件操作 708

20.4.3 为用户类型添加异步支持 709

20.5 Windows窗体应用程序中的线程处理 710

20.5.1 ISynchronizeInvoke接口 711

20.5.2 BackgroundWorker组件 713

第21章 序列化 717

21.1 基本序列化 717

21.1.1 二进制序列化 718

21.1.2 SOAP序列化 719

21.1.3 创建可序列化类型 720

21.1.4 对象图 721

21.1.5 序列化和事件 722

21.1.6 深层对象克隆 724

21.1.7 版本容错序列化(VTS) 725

21.2 自定义序列化 726

21.2.1 IDeserializationCallback接口 727

21.2.2 ISerializable接口 728

21.2.3 序列化和反序列化事件 733

21.2.4 IObjectReference接口 734

21.2.5 ISerializationSurrogate接口 736

21.2.6 继承不可序列化类型 739

第22章 PInvoke和COM Interop 743

22.1.1 Declare关键字 744

22.1 使用PInvoke 744

22.1.2 DlUmport属性 745

22.1.3 封送数据 747

22.1.4 MarshalAs属性 748

22.1.5 StructLayout属性 749

22.1.6 FieldOffset属性 751

22.1.7 委托和回调过程 753

22.1.8 In和Out属性 754

22.1.9 Marshal类 756

22.2 从.NET调用COM组件 758

22.2.1 运行库可调用包装 758

22.2.2 用Visual Studio导入COM组件 759

22.2.3 使用所导入的Interop程序集 760

22.2.4 用TlbImp导入COM组件 761

22.2.5 主Interop程序集 762

22.2.6 免注册COM组件 763

22.2.7 后期绑定与反射 764

22.2.8 COM Interop封送处理 765

22.2.9 线程处理问题 766

22.3 从COM调用.NET对象 767

22.3.1 COM可调用包装 767

22.3.2 创建示例.NET组件 768

22.3.3 RegAsm与TlbExp工具 769

22.3.4 转换的详细信息 769

22.3.5 使用属性控制转换 770

22.3.6 处理异常情况 773

22.3.7 编写COM友好的.NET框架组件 774