100162734.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 92 行 · 第 1/2 页
HTM
92 行
<div id="text"> <link href="css.css" rel="stylesheet" type="text/css" /><p class="MsoNormal"><span style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">至少从开发人员的角度来看,编写托管代码的最大好处是可以使用</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类库。</span></span></p>
<p class="MsoNormal"><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类是一个内容丰富的托管代码类集合,它可以完成以前要通过</span><span lang="EN-US">Windows API</span><span style="FONT-FAMILY: 宋体">来完成的绝大多数任务。这些类派生于与中间语言相同的对象模型,<span style="LETTER-SPACING: 0.1pt">也基于单一继承性。无论</span></span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">.NET</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">基类是否合适,都可以实例化对象,也可以从它们派生自己的</span><span style="FONT-FAMILY: 宋体">类。</span></p>
<p class="MsoNormal"><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类的一个优点是它们非常直观和易用。例如,要启动一个线程,可以调用</span><span lang="EN-US">Thread</span><span style="FONT-FAMILY: 宋体">类的</span><span lang="EN-US">Start()</span><span style="FONT-FAMILY: 宋体">方法。要禁用</span><span lang="EN-US">TextBox</span><span style="FONT-FAMILY: 宋体">,应把</span><span lang="EN-US">TextBox</span><span style="FONT-FAMILY: 宋体">对象的</span><span lang="EN-US">Enabled</span><span style="FONT-FAMILY: 宋体">属性设置为</span><span lang="EN-US">false</span><span style="FONT-FAMILY: 宋体">。</span><span lang="EN-US">Visual Basic</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">Java</span><span style="FONT-FAMILY: 宋体">开发人员非常熟悉这种方式。它们的库都很容易使用,但对于</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">开发人员来说这是极大的解脱,因为他们多年来一直在使用诸如</span><span lang="EN-US">GetDIBits()</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">RegisterWndClassEx()</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">IsEqualIID()</span><span style="FONT-FAMILY: 宋体">这样的</span><span lang="EN-US">API</span><span style="FONT-FAMILY: 宋体">函数,以及需要传递</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">句柄的函数。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">另一方面,</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">开发人员总是很容易访问整个</span><span lang="EN-US">Windows API</span><span style="FONT-FAMILY: 宋体">,而</span><span lang="EN-US">Visual Basic 6</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">Java</span><span style="FONT-FAMILY: 宋体">开发人员只能访问其语言所能访问的基本操作系统功能。</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类的新增内容就是把</span><span lang="EN-US">Visual Basic</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">Java</span><span style="FONT-FAMILY: 宋体">库的易用性和</span><span lang="EN-US">Windows API</span><span style="FONT-FAMILY: 宋体">函数的丰富功能结合起来。但</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">仍有许多功能不能通过基类来使用,而需要调用</span><span lang="EN-US">API</span><span style="FONT-FAMILY: 宋体">函数。在日常的使用中,会发现基类非常丰富。如果需要调用</span><span lang="EN-US">API</span><span style="FONT-FAMILY: 宋体">函数,</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">提供了所谓的“平台调用”,来确保对数据类型进行正确的转换,这样无论是使用</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">VB.NET</span><span style="FONT-FAMILY: 宋体">进行编码,该任务都不会比直接从已有的</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">代码中调用函数更困难。</span></p>
<p class="a3" style="MARGIN-TOP: 4.9pt; TEXT-INDENT: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="MARGIN-BOTTOM: 8.15pt; TEXT-INDENT: 21.45pt"><span lang="EN-US">WinCV</span><span style="FONT-FAMILY: 楷体_GB2312">是一个基于</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 楷体_GB2312">的实用程序,可以用于浏览基类库中的类、结构、接口和枚举。本书将在第</span><span lang="EN-US">12</span><span style="FONT-FAMILY: 楷体_GB2312">章介绍</span><span lang="EN-US">WinCV</span><span style="FONT-FAMILY: 楷体_GB2312">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">章主要介绍基类。完成了</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">语言语法的概述后,本书的其余内容将主要说明如何在</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类库中使用各种类,即各种基类是如何工作的。</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类包括:</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US">IL</span><span style="FONT-FAMILY: 宋体">提供的核心功能,例如,通用类型系统中的基本数据类型,详见第</span><span lang="EN-US">3</span><span style="FONT-FAMILY: 宋体">章。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US">Windows GUI</span><span style="FONT-FAMILY: 宋体">支持和控件</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">19</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US">Web</span><span style="FONT-FAMILY: 宋体">窗体</span><span lang="EN-US"> (ASP.NET</span><span style="FONT-FAMILY: 宋体">,第</span><span lang="EN-US">25-27</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">数据访问</span><span lang="EN-US"> (ADO.NET</span><span style="FONT-FAMILY: 宋体">,第</span><span lang="EN-US">21-22</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">目录访问</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">24</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">文件系统和注册表访问</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">30</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">网络和</span><span lang="EN-US">Web</span><span style="FONT-FAMILY: 宋体">浏览</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">31</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">特性和反射</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">10</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">访问</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">操作系统的各个方面</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">例如环境变量等,第</span><span lang="EN-US">14</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; TEXT-INDENT: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">互操作性</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">28</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">29</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">附带说一下,根据</span><span lang="EN-US">Microsoft</span><span style="FONT-FAMILY: 宋体">源文件,大部分</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类实际上都是用</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">编写的!</span></p>
<h3 style="MARGIN: 8.15pt 0cm"> </h3>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">避免类名冲突的一种方式。例如,命名空间可以避免下述情况:定义一个类来表示一个顾客,称此类为</span><span lang="EN-US">Customer</span><span style="FONT-FAMILY: 宋体">,同时其他人也在做相同的事</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">这有一个类似的场景<span style="LETTER-SPACING: -0.5pt">——</span>顾客有相当多的业务</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">命名空间不过是一组数据类型,但命名空间中所有数据类型的名称都会自动加上该命名空间的名字作为其前缀。命名空间还可以相互嵌套。例如,大多数用于一般目的的</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类位于命名空间</span><span lang="EN-US">System</span><span style="FONT-FAMILY: 宋体">中,基类</span><span lang="EN-US">Array</span><span style="FONT-FAMILY: 宋体">在这个命名空间中,所以其全名是</span><span lang="EN-US">System.Array</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">需要在命名空间中定义所有的类型,例如,可以把</span><span lang="EN-US">Customer</span><span style="FONT-FAMILY: 宋体">类放在命名空间</span><span lang="EN-US">YourCompanyName</span><span style="FONT-FAMILY: 宋体">中,则这个类的全名就是</span><span lang="EN-US">YourCompanyName.Customer</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="a3" style="MARGIN-TOP: 4.9pt; TEXT-INDENT: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="MARGIN-BOTTOM: 8.15pt; TEXT-INDENT: 21.45pt"><span style="FONT-FAMILY: 楷体_GB2312">如果没有显式提供命名空间,类型就添加到一个没有名称的全局命名空间中。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span lang="EN-US">Microsoft</span><span style="FONT-FAMILY: 宋体">建议<span style="LETTER-SPACING: -0.1pt">在大多数情况下,都至少要提供两个嵌套的命名空间名,第一个是公司名,第二个是技术名称或软件包的名称,而类是其中的一个成员,例如</span></span><span lang="EN-US" style="LETTER-SPACING: -0.1pt">YourCompanyName.Sales Services.Customer</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -0.1pt">。在大多数情况下,这么做可以保证类的名称不会与其他组织编写的类名冲突。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">第</span><span lang="EN-US">2</span><span style="FONT-FAMILY: 宋体">章将详细介绍命名空间。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100162733.htm">上一页</a> <a href="index.html">首页</a> <a href="100162735.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100162734.htm'><font color='red'>1.5 .NET Framework类</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100162731.htm'>1.2 公共语言运行库</a></div><div style='float:right;width:49%'>·<a href='100162732.htm'>1.3 中间语言</a></div><div style='float:left;width:49%'>·<a href='100162733.htm'>1.4 程序集</a></div><div style='float:right;width:49%'>·<a href='100162735.htm'>1.6 用C#创建.NET应用程序</a></div><div style='float:left;width:49%'>·<a href='100162736.htm'>1.7 C#在.NET企业体系结构中的作用</a></div><div style='float:right;width:49%'>·<a href='100162737.htm'>1.8 小结</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?