vb.net中的名称空间

大多数程序员使用VB.NET名称空间的最常见方式是告诉编译器特定程序需要哪些.NET Framework库。当您为项目选择“模板”(例如“Windows窗体应用程序”)时,您要选择的内容之一是将在项目中自动引用的特定名称空间集。这使得程序可以使用这些名称空间中的代码。...

大多数程序员使用VB.NET名称空间的最常见方式是告诉编译器特定程序需要哪些.NET Framework库。当您为项目选择“模板”(例如“Windows窗体应用程序”)时,您要选择的内容之一是将在项目中自动引用的特定名称空间集。这使得程序可以使用这些名称空间中的代码。

man working on laptop

例如,Windows窗体应用程序中的某些名称空间和实际文件包括:

系统>在System.dllSystem.Data中>在System.Data.dllSystem.Deployment中>System.Deployment.dllSystem.Drawing>System.Drawing.dllSystem.Windows.Forms>System.Windows.Forms.dll

您可以在“引用”选项卡下的“项目属性”中查看(并更改)项目的名称空间和引用。

这种思考名称空间的方式使它们看起来与“代码库”一样,但这只是想法的一部分。名称空间的真正好处在于组织。

我们大多数人都没有机会建立一个新的名称空间层次结构,因为对于一个庞大而复杂的代码库,通常只在“开始”时建立一次。但是,在这里,您将学习如何解释许多组织将要求您使用的名称空间。

名称空间做什么

名称空间可以组织数以万计的.NET Framework对象以及VB程序员在项目中创建的所有对象,因此它们不会发生冲突。

例如,如果在.NET中搜索颜色对象,则会发现两个。两者都有一个颜色对象:

System.DrawingSystem.Windows.Media

如果为这两个名称空间添加导入语句(项目属性也可能需要引用)。。。

Imports System.DrawingImports System.Windows.Media

... 然后是一个像。。。

Dim a As Color

... 将标记为错误,并注明“颜色不明确”,并且.NET将指出两个名称空间都包含具有该名称的对象。这种错误称为“名称冲突”

这是“名称空间”的真正原因,也是名称空间在其他技术(如XML)中使用的方式。名称空间可以在名称合适时使用相同的对象名称,如颜色,并保持事物的有序性。您可以在自己的代码中定义颜色对象,并将其与.NET(或其他程序员的代码)中的颜色对象区分开来。

Namespace MyColorPublic Class ColorSub Color()' Do somethingEnd SubEnd ClassEnd Namespace

您也可以在程序中的其他地方使用颜色对象,如下所示:

Dim c As New MyColor.Colorc.Color()

在讨论其他一些特性之前,请注意每个项目都包含在名称空间中。VB.NET使用项目名称(WindowsApplication1,如果不更改,则为标准窗体应用程序)作为默认命名空间。要看到这一点,请创建一个新项目(我们使用名称NSProj并检查对象浏览器工具):

  1. 单击此处显示图示
  2. 单击浏览器上的“上一步”按钮返回

对象浏览器将显示新的项目命名空间(以及其中自动定义的对象)和.NET Framework命名空间。VB.NET使您的对象与.NET对象相等的能力是其强大性和灵活性的关键之一。例如,这就是为什么Intellisense会在您定义自己的对象时立即显示它们。

为了让它更上一层楼,让我们定义一个新项目(我们在同一个解决方案中命名为NewNSProj(使用File>Add>new project…),并在该项目中编码一个新名称空间。为了让它更有趣,让我们将新名称空间放在一个新模块中(我们命名为NewNSMod)由于对象必须编码为类,因此我们还添加了一个类块(名为NewNSObj)。下面是代码和解决方案资源管理器,以展示它是如何组合在一起的:

  1. 单击此处显示图示
  2. 单击浏览器上的“上一步”按钮返回

因为您自己的代码“就像框架代码一样”,所以有必要在NSProj中添加对NewNSMod的引用,以便在名称空间中使用对象,即使它们位于同一个解决方案中。完成后,您可以基于NewNSMod中的方法在NSProj中声明一个对象。您还需要“构建”项目,以使实际对象存在以供参考。

Dim o As New NewNSProj.AVBNS.NewNSMod.NewNSObjo.AVBNSMethod()

不过,这是一个相当模糊的说法。我们可以通过使用带有别名的Imports语句来缩短这个时间。

Imports NS = NewNSProj.AVBNS.NewNSMod.NewNSObj...Dim o As New NSo.AVBNSMethod()

单击Run按钮显示来自AVBNS命名空间的MsgBox,“嘿!它成功了!”

何时以及为什么使用名称空间

到目前为止,一切都只是语法——使用名称空间时必须遵循的编码规则。但要真正利用这一优势,你需要两件事:

  • 首先是对名称空间组织的要求。在名称空间的组织开始发挥作用之前,您需要的不仅仅是一个“Hello World”项目。
  • 使用它们的计划。

通常,Microsoft建议您使用公司名称与产品名称的组合来组织组织组织的代码。

因此,例如,如果您是Nos博士的Nose Knows整形外科的首席软件架构师,那么您可能希望组织您的名称空间,如。。。

DRNoConsultingReadTheirWatchNChargeEmTellEmNuthinSurgeryElephantManMyEyeLidsRGone

这类似于.NET的组织。。。

ObjectSystemCoreIOLinqDataOdbcSql

多级名称空间是通过简单地嵌套名称空间块来实现的。

Namespace DRNoNamespace SurgeryNamespace MyEyeLidsRGone' VB CodeEnd NamespaceEnd NamespaceEnd Namespace

Namespace DRNo.Surgery.MyEyeLidsRGone' VB CodeEnd Namespace

  • 发表于 2021-09-28 23:04
  • 阅读 ( 162 )
  • 分类:IT

你可能感兴趣的文章

功能(function)和vb程序(procedure in vb)的区别

...执行某个任务并向调用代码返回值的过程,而过程是程序中的可执行语句块。 visualbasic(VB.NET)是在微软开发的.NET框架上实现的一种编程语言。它是一种现代的通用编程语言。它有助于开发高效的程序,而且更容易学习语言。...

  • 发布于 2021-07-01 18:59
  • 阅读 ( 279 )

林克(linq)和sql语句(sql)的区别

...的不匹配和复杂性。简而言之,LINQ是一种内置于.NET语言中的结构化查询语法。另一方面,DBMS是一种使数据管理更容易的软件。另外,RDBMS是按照关系模型设计的数据库管理系统,SQL是在RDBMS中进行insert、update、delete、select等操...

  • 发布于 2021-07-01 22:56
  • 阅读 ( 463 )

vb语言(vb)和运动模拟(vb.net)的区别

...选项。VB是为一个简单而有能力的软件开发而设计的。VB中的程序基本上是一系列创建和操作变量的命令。这种语言的程序也称为宏。 VB.NET代表支持Visual Basic网络的技术。它是Microsoft的.NET framework语言之一。这种语言是专门为VB开...

  • 发布于 2021-07-13 21:15
  • 阅读 ( 253 )

vb.net中的强制转换和数据类型转换

...的过程。例如,将整数类型强制转换为字符串类型。VB.NET中的某些操作需要特定的数据类型才能工作。强制转换将创建所需的类型。本系列由两部分组成的第一篇文章,VB.NET中的强制转换和数据类型转换,介绍了强制转换。本文...

  • 发布于 2021-09-07 01:21
  • 阅读 ( 224 )

visual basic术语表

...务器和客户端之间传输信息。例如,“购物车”应用程序中的表单可能包含有关购买特定项目的请求的信息。可以使用CGI将信息传递到web服务器。CGI仍然被大量使用,ASP是一个完整的替代方案,可以更好地与Visual Basic配合使用。...

  • 发布于 2021-09-10 22:25
  • 阅读 ( 238 )

有关在visual basic中序列化的所有信息

...要原因是,您可以四处移动对象。考虑可能性。由于.NET中的“一切都是对象”,所以可以序列化任何内容并将其保存到文件中。因此,您可以序列化图片、数据文件、程序模块的当前状态(“状态”类似于程序在某个时间点的...

  • 发布于 2021-09-11 23:49
  • 阅读 ( 193 )

什么是vb.net资源及其使用方法(vb.net resources and how)

...择“资源”选项卡。您可以通过双击解决方案资源管理器中的“我的项目”或“项目”菜单项下的“项目属性”来打开此对话框。 资源文件的类型 串 图像 图标 音频 文件夹 其他 资源文件简化了全球化 使用资源文件增...

  • 发布于 2021-09-11 23:50
  • 阅读 ( 181 )

vb.net控件继承编程简介

...在VB.NET中打开新的Windows应用程序项目。->将工具箱中的复选框添加到表单中。->单击解决方案资源管理器顶部的“显示所有文件”按钮。 这将显示VisualStudio为您的项目创建的文件(因此您不必这样做)。作为一个...

  • 发布于 2021-09-11 23:52
  • 阅读 ( 182 )

如何在visual basic 6中创建和使用资源(create and use resources in visual basic 6)

...件 在project Explorer窗口中,您可以在VB 6和VB.NET中看到项目中的资源(VB.NET中的解决方案资源管理器-它们必须使其稍微有所不同)。在VB6中,资源不是默认工具,因此新项目不会有任何资源。因此,让我们为一个项目添加一个简...

  • 发布于 2021-09-11 23:54
  • 阅读 ( 226 )

vb.net解决方案和项目文件“sln”和“vbproj”

...;一整套项目可以是同一解决方案的一部分,该.sln文件中的设置和选项可以应用于其中的所有项目。在VisualStudio中一次只能打开一个解决方案,但该解决方案中可以打开许多项目。这些项目甚至可以使用不同的语言。 通过创...

  • 发布于 2021-09-11 23:55
  • 阅读 ( 221 )
dzaur406
dzaur406

0 篇文章

相关推荐