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) 方式导出 一般的框架如下 // ...
随机推荐
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- 支持 .NET Core 的 Memcached 客户端 EnyimMemcachedCore
1. 介绍 EnyimMemcachedCore 是一个支持 .NET Core 的 Memcached 客户端,是从 EnyimMemcached 迁移至 .NET Core的,源代码托管在 Git ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- 零OCR基础6行代码实现C#验证码识别
这两天因为工作需要,要到某个网站采集信息,一是要模拟登陆,二是要破解验证码,本想用第三方付费打码,但是想想网上免费的代码也挺多的,于是乎准备从网上撸点代码下来,谁知道,撸了好多个都不行,本人以前也没接 ...
- Mysql命令大全
格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...
- 一行代码实现java list去重
1.不带类型写法: 1 List listWithoutDup = new ArrayList(new HashSet(listWithDup)); 2.带类型写法(以String类型为例):1)Ja ...
- [转载]一个标准java程序员的进阶过程
第一阶段:Java程序员 技术名称 内 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...
- 浅谈JSP注释
HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...
- java面向对象六原则一法则
1. 单一职责原则:一类只做它该做的事. 2. 里氏替换原则:子类必须能够替换基类(父类),否则不应当设计为其子类. 3. 依赖倒换原则:设计要依赖于抽象而不是具体化. 4. 接口隔离原则:接口要小而 ...
- PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)
最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ...