VB 模块的作用VB模块有三种类型:窗体、标准和类 。
Visual Basic 的代码存储在模块中 。
窗体模块:
窗体模块(文件扩展名为 .FRM )是大多数 Visual Basic
应用程序的基础 。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明 。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述 , 包括它们的属性设置值 。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它窗体或对象 。
标准模块:
标准模块(文件扩展名为
.BAS)是应用程序内其它模块访问的过程和声明的容器 。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明 。写入标准模块的代码不必绑在特定的应用程序上;如果不小心用名称引用窗体和控件 , 则在许多不同的应用程序中可以重用标准模块 。
类模块:
在 Visual Basic 中类模块(文件扩展名为
.CLS)是面向对象编程的基础 。可在类模块中编写代码建立新对象 。这些新对象可以包含自定义的属性和方法 。实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口 。
每个标准模块、类模块和窗体模块都可包含:
1)声明 。可将常数、类型、变量和动态链接库 (DLL) 过程的声明放在窗体、类或标准模块的模块级 。
2)过程 。Sub、Function 或者 Property 过程包含可以作为单元来执行的代码片段 。
VB.NET中的模块 在C#中有 静态类 的概念 自然里边全部的方法都是静态的 这意味着你可以直接通过 类名 方法名 去调用(例如System的Math类就是典型) 在VB NET中 没有 静态类 的概念(当然你可以用 单例模式 把构造函数弄成Private的方式 其它方法都是静态的)如果某些方法需要被其它地方频繁使用 可以创建 模块 在VB NET中一旦创建了模块 其中任何方法 属性或者变量都可以被其它地方引用 因此适合全局情况下频繁交互的情况(比如初始化加载的参数 可能后续程序要使用)等
现在问题在于 如果你把一个类似以下的模块代码封装成DLL类库 无论在C#或者是VB NET中都无法引用到其方法
Module A
Public Sub Test()
End Sub
End Module
或许你感到很奇怪——不是在VB NET中这样定义一个Module就直接可以使用其内部方法了么?为什么封装成类库就不可以了呢?上网问了一些人 众说纷纭 后来我在他人协助下终于成功解决了这个问题——解决方法很简单——只要在Module前加Public
理由是 为了兼容C# VB NET由Module封装成类库中这个模块不再是 模块 而是一个标准的类了 如果这样写 那么在 NET中被理解成(C#)
internal A
{
public void Test()
{
}
}
整个模块变成Internal的了!当然你到其它程序集中去引用就引用不到!而把类库中的Module的修饰符改为Public就可以了 这就是MSDN那位友人给我最好的提示
虽然这个提示不是令我太满意(因为要知道VB NET中可以直接不通过 类名 方式直接使用方法名) 但是这给了我很大的暗示 得出重要的结论
)VB NET中Module在制作成类库时候等同于VB NET中的类的规则(里边的方法都是静态的) 默认情况下是Friend(C#是internal)
)根据结论 那么我们知道引用该DLL类库的方法一定是 i)引用命名空间ii)C#中直接 类名 方法名 对于VB NET 直接可以引用到方法名
lishixinzhi/Article/program/net/201311/12502
用VB.NET编程有什么好处?vb.net是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用vb.net可以编制出功能更加强大的windows程序 。现在,我们把vb.net和vb 6.0做一下比较,看看vb.net对比vb 6.0有着什么样的特性和优点 。1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化 。在vb.net中,可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了 。构造函数的使用,简化了编码的过程和出错的机会 。2.vb.net编写线程的能力比vb 6.0有很大的增强 。3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码 。在vb.net中,可以 使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码 。4.vb.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件 。5.因为vb.net是基于.NET框架的,可以与其它.NET语言协同工作 。6.在vb.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点 。如果你能进一步学习vb.net,你会发现更多的新特性和优点 。
VB.NET里的“类”有何用?模块相当于一堆公开方法的集合vb.net模块作用,类相当于你平时拖的控件vb.net模块作用,在vb6里面你想自己写个控件是很复杂的vb.net模块作用,而vb.net里只需要继承自现有控件即可 。就按钮来说同样是按钮类,你可以拖若干个到界面上,也就是存在若干实例或对象 , 而模块,通常只有一个对吧,模块相当于c#的静态类 。
【vb.net模块作用 vbnet single】关于vb.net模块作用和vbnet single的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 珠宝直播平台被罚款了,珠宝直播平台被罚款了多少钱
- 关于wxpc版怎么看视频号的信息
- psv动作解谜游戏,psv动作rpg
- 什么CPU硅脂性价比,什么cpu硅脂好用
- linux达梦命令 达梦 linux
- 手机上做什么生意简单,老挝做什么生意最简单
- mysql怎样登录用户,MySQL创建登录用户
- 韩剧魔女用了什么拍摄手法,韩剧魔女讲的是什么
- python内置函数数量 python里的内置函数