用VB.NET打造NameSpace
微软公司推出的.Net FrameWork SDK是专门为.Net程序开发语言提供的一个内容庞大的软件开发包。其中基本元素就是名称空间(NameSpace),名称空间实质上是一个大的类库(Class Library)。在其中定义了许多的类、对象、属性和方法。.Net开发语言就是依靠些类、对象、属性和方法来丰富自己的界面,实现软件的强大功能。其实也可以这样说,只有掌握了这些名称空间,.Net 开发工具才能可以最大程度发挥自身强大功能。那我们是否可以依靠自己的开发工具来做一个自己的名称空间?
本文中就是介绍如何利用.Net开发工具中的一种--VB.NET,来打造一个属于自己的命名空间.

介绍顺序如下:
1.用vb.net建一个winform应用程序
2.将这个winform程序编译成dll文件
3.再用vb.net建一个winform程序,继承前面的名称空间的类,并构建自己的form界面,此段主要是测试刚刚建立的名称空间。
具体步骤如下:
1.开一个工程名为windowsapp1
2.在form1的画面上画一些控件。
3.然后打开form1.vb,修改form1.vb的代码(即在 Public Class Form2.....end class 的头上加上namespace  mynamespace,末尾加上end namespace)
修改后的代码如下:
namespace  mynamespa
Public Class Form2
.................
end class
end namespace
4.编译form1.vb生成名称空间,这也是比较重要的环节,在编译中要把form1.vb编译成DLL文件,具体命令如下:vbc /t:library /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll name.vb
此时就会生成一个form1.dll的文件,此文件中就定义了我们的名称空间--mynamespace。在mynamespace名称空间中封装了一个类--Form1。
5.测试前面定义好的命名空间--mynamespace
和其他的名称空间一样,用测试他最好的办法就是在程序中导入他,下面的程序就是通过继承此名称空间mynamespace中的一个Form1的类,来生成自己的WinForm程序。对于如何继承此Form1类,步骤如下
I.打开另一个工程,他会自动生成一个窗体FORM1,将form1名称改为form2
II.追加参照设定,引入mynamespace.dll
III.然后打开form2.vb,将windows 自动生成的代码删除,然后顶部加入Imports mynamespace
在public class 中的上面加入inherit mynamespace.form1。
IV.按F5即可出来和工程windowsapp1中的form1的界面完全一致。
6.总结:
继承是面向对象的开发语言的一个重要组成部分,在程序设计中充分的利用继承关系,可以最大范围的提高程序的可利用性,使得用最少的代码开发比较大的应用程序。通过以上也可以看出做一个名称空间也不是一件很难事情,关键是要对.Net的结构有一个比较清楚的认识。VB.NET作为新一代的开发语言,他提供给我们一个广阔的程序开发平台,在这个平台上,我们就可以更大范围的放飞自己的思想。

转载于:https://www.cnblogs.com/lvxuehui/archive/2005/03/16/119893.html

创建一个属于自己的名称空间.相关推荐

  1. pandas使用rename函数重命名dataframe中数据列的名称、从而创建一个包含重复列名称的dataframe数据集

    pandas使用rename函数重命名dataframe中数据列的名称.从而创建一个包含重复列名称的dataframe数据集 目录

  2. [导入]创建、查询、修改带名称空间的 XML 文件的例子

    XML的应用越来越广泛了,如Vista.Flex编程都将使用 XML,正确掌握XML的各种操作,对提高编程效率至关重要.下面就是一个综合处理带名称空间的XML的例子. 文章来源:http://blog ...

  3. spring配置详解-属性注入(p名称空间SPEL表达式)

    所谓了解的话讲了一般是不会用的,看一下了解的注入方式,还有一种叫p名称空间注入方式,是Spring最近发出来的,因为Bean注入方式已经深入人心了,所以后面这两种注入方式,哪怕是好,也不愿意去用,因为 ...

  4. python类的构造方法名称_搞懂Python的类和对象名称空间

    代码块的分类 python中分几种代码块类型,它们都有自己的作用域,或者说名称空间:文件或模块整体是一个代码块,名称空间为全局范围 函数代码块,名称空间为函数自身范围,是本地作用域,在全局范围的内层函 ...

  5. 网络虚拟化基础一:linux名称空间Namespaces

    一 介绍 如果把linux操作系统比作一个大房子,那命名空间指的就是这个房子中的一个个房间,住在每个房间里的人都自以为独享了整个房子的资源,但其实大家仅仅只是在共享的基础之上互相隔离,共享指的是共享全 ...

  6. 如何在JavaScript中声明名称空间?

    如何在JavaScript中创建名称空间,以使我的对象和函数不会被其他同名对象和函数覆盖? 我使用了以下内容: if (Foo == null || typeof(Foo) != "obje ...

  7. 名称的秘密:Excel中隐藏着的名称空间

    关于Excel的隐藏名称空间这个被隐藏的名称空间是一个属于当前Excel实例的内存区域,该区域加载项DLLs("XLLS")能存储临时的名称.使用这个区域,即使没有可利用的宏工作表 ...

  8. Kubernetes基本入门-名称空间资源(三)

    名称空间级资源 名称空间在kubernetes中主要的作用是做资源隔离,因此名称空间级别的资源只在当前名称空间下有效. 工作负载型资源 工作负载(workload)是在Kubernetes上运行的应用 ...

  9. 如何为你的Youtobe频道取一个好的品牌名称

    您是否决定成为YouTuber,但您的YouTube频道名称应该是什么? 您的YouTube频道名称是品牌建设的主要部分,所以最好在决定之前给出第二个想法.尽管如此,你不能让这个决定让你在开始你的Yo ...

最新文章

  1. 046_Unicode对照表十二
  2. DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——1~20
  3. 第十四期: 拥有7000多万店铺和10多亿件商品的微店如何打造AI系统?
  4. dll创建及调用(VS2005)
  5. httpclient4 post提交请求乱码问题解决
  6. hexo+next 给博客添加网易云音乐外链接
  7. 2020年终系列:国内区块链专利授权总数不足3000项|链塔智库
  8. 【2017年蓝桥杯Java-B组省赛题解】
  9. AI数学基础(1)--- 马尔可夫不等式
  10. 【矩阵论】线性空间与线性变换(1)
  11. Three——二、加强对三维空间的认识
  12. 【设计模式】Java 语言不同的编程范式-第1章
  13. 初学python数字猜游戏_python初学者的猜数字游戏
  14. uIP各部分协议代码的分析
  15. dubbo升级至2.7.15后application配置无法生效
  16. linux 开源电子软件,linux下开源电子设计软件
  17. 模拟退火算法求解TSP问题(python)
  18. 渗透综合靶场---SqlServer提权
  19. 感受PCA之美(Principal components analysis overview and application)
  20. python 购物车_python之购物车

热门文章

  1. swoole mysql 协程_Swoole 协程 MySQL 客户端与异步回调 MySQL 客户端的对比
  2. Vivado中使用逻辑分析仪ILA
  3. C++实现遍历链表一次求出中间的节点
  4. hikaridatasource 加密后登陆不上_python测试开发django42.auth模块登陆认证
  5. 打开网页时出现DA AddrBar icon的解决方法
  6. jittor和pytorch生成网络对比之bicyclegan
  7. Java I/O演进与Linux网络I/O模型
  8. Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序...
  9. 禅道项目管理软件介绍
  10. SQL 时间类型转字符串格式列表