C#创建dll类库
类库让我们的代码可复用,我们只需要在类库中声明变量一次,就能在接下来的过程中无数次地使用,而无需在每次使用前都要声明它。这样一来,就节省了我们的内存空间。而想要在类库添加什么类,还需取决于类库要实现哪些功能。创建一个类库其实是非常容易的,这篇文章就来向大家分享一下如何在C#中创建dll类库。
类库的文件扩展名是 .dll(Dynamic Linkable Library 即动态链接库文件)
类库的好处:
提高程序的性能。
节省时间。
节省内存空间。
现在我们一起来看下如何轻松创建dll类库的。
步骤1:想要创建一个类库,首先我们需要新建项目。

步骤2:然后,在弹出的对话框点击新建项目->visual C#->windows->class library(类库)

步骤3:为类库和项目的解决方案命名,这里我命名的是mydll。选择保存位置,单击确定。

这时我们的项目已经可以写源代码了。
步骤4:现在我们需要在类库添加类。
定义public类型的”mystring“类。
步骤5:根据自身需要在“mystring”类中添加相应的函数。

这里我在mystring类中添加了strlength和concat这两个函数。 Strlength函数用来计算字符串的长度,返回一个整型值。Concat函数用于连接两个或多个字符串。
步骤6:最后按(ctrl
+ shift + B) 完成类库创建。

如图所示,dll类库成功生成,保存在默认位置或者设置的目录下, 供我们使用。
测试dll类库
现在我们测试创建的dll类库
步骤1:再次点击”新建项目”

创建新项目后,弹出对话框,选择windows 窗体应用程序。

同样,为windows
窗体应用程序和项目解决方案命名,点击浏览,选择保存位置。
步骤2:将类库添加到testdll
windows窗体应用程序。

点击解决方案资源管理器->引用 ->添加引用

在目录找到我们刚才创建mydll类库并添加,如图:

步骤3:Dll文件添加到当前项目后,再添加using
mydll命名空间。

步骤4:创建一个“mystring”类的对象obj,我们通过使用obj这个对象来调用类库的函数。
步骤5:接下来调用“mystring”类的函数。
运行程序:
输入字符串和子字符串,点击check length。调用strlength函数后的输出结果如图:
连接字符串和子字符串时,点击join string,调用concat函数输出结果如图:
当然DLL也有一些它的不足之处,比如,DLL文件里是一个一个的函数,当我们通过函数名来调用函数,如果遇到两个dll文件有相同的函数名又该怎么办等等问题,所以我们有时也可以考虑是否采用COM。
C#创建dll类库的更多相关文章
- 利用C#的反射机制动态调用DLL类库
最近由于业务要求,需要动态调用DLL类库,所以研究了一下,感觉还好也不太难,今天就把自己理解的写了一个小例子(已经通过VS2005跑通),供大家一起研究和探讨,有理解不当的地方还请高手们多多指正,谢谢 ...
- C# 创建Dll文件供程序调用方法
C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1. 在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...
- PB调用C#编写的Dll类库
在c# 中编写com组件,供PB调用实例 前言:c#中写的dll直接是不能被pb调用的,只有写成com组件才可以调用,所以用c#写dll时要注意. c#中新建类库 类库类型为通用类库,项目名为AddC ...
- 10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)
前言 NuGet就是一个包(package)管理平台,确切的说是 .net平台的包管理工具,它提供了一系列客户端用于生成,上传和使用包(package),以及一个用于存储所有包的中心库. 对于一个现代 ...
- 创建dll教程
先看我的总结: 总结: 1.头文件中如果想以C形式提供,要判断,如果定义了 _cplusplus, extern "c"{ 这里写接口声明 } 2.接口声明中,要表明接口接入点的 ...
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
from:http://m.blog.csdn.net/article/details?id=51075023 在VS2015中先创建C#项目,然后再创建要编写的动态库DLL项目,这样做的好处是整个解 ...
- c# 无法引用自己创建的类库
今个测试一个项目,居然无法引用自己创建的类库,我很费解,然后各种测试,修改修饰符,更改强类型,各种测试,最后无聊点开类库的属性 发现居然需要引用的项目与被引用的类库的框架不一样,修改了之后就可以正常 ...
- VC++2008 用空工程创建 DLL
VC++2008 用空工程创建 DLL 一.创建 DLL 工程项目: 1)点击菜单[File] -> [New] -> [Project...] 弹出 “New Project” 对话框: ...
- windows编程:创建DLL
创建DLL Dll是动态链接库的缩写,可以作为附加代码动态映射到进程的地址空间中. 动态库的一般创建方法如下 方法1.使用 __declspec(dllexport) 方式导出 一般的框架如下 // ...
随机推荐
- 谈一下关于CQRS架构如何实现高性能
CQRS架构简介 前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺.对于这3点,我觉得很有道理.所以也想谈一下,CQRS架构 ...
- Cocos2d Android 环境搭建
1.在开始之前,需要先准备好资源如下,如果安卓开发环境有了直接装第3.4. 1.JDK 点击下载 (1.6) 2.ADT(已经自带Android SDK)点击下载 3.NDK 点击下载 4. ...
- 利用CSS中的:after、: before制作的边三角提示框
小颖昨天分享了一篇参考bootstrap中的popover.js的css画消息弹框今天给大家再分享一篇使用:before和:after伪元素画消息弹框的CSS. 画出来是介个酱紫的: 有没有觉得画的萌 ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- 设计模式之结构类模式大PK
结构类模式大PK 结构类模式包括适配器模式.桥梁模式.组合模式.装饰模式.门面模式.享元模式和代理模式.之所以称其为结构类模式,是因 ...
- WPF CheckBox 样式
<Style x:Key="FocusVisual"> <Setter Property="Control.Template"> < ...
- [算法]——归并排序(Merge Sort)
归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序:然后将已经有序的两个子部分进行合并,最终完成排序.其时间复杂度与快速排序均为O(nlog ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 敏捷转型历程 - Sprint3 Planning
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...