C#简单创建DLL文件并调用

DLL是Dynamic Link Library的缩写,意为动态链接库。动态链接库其实是由编译器将一系列相关的类型编译、链接并封装成一个独立的文件,与对其进行调用的程序分开。这样一个独立的文件相当于程序的一个模块,如果需要对程序进行更新,只需更新指定的模块而不影响程序的其他部分。本实例编写了一个简单的DLL文件,并在窗体应用程序中对其进行调用

【实现过程】
(1)VS2022创建新项目,在弹出的“创建新项目”窗口的“项目模板”列表中选择“类库(.NET Framework) C#”选项,将名称栏中的项目名称改为ClassLibrary

(2)在ClassLibrary项目创建完成后,系统会自动生成一个名为Class1的类,在“解决方案资源管理器”中的ClassLibrary项目下面的Class1.cs选项上单击鼠标右键,在弹出的菜单中选择“重命名”菜单项,这时将Class.cs文件改名为MyClass.cs

3)在项目列表中双击MyClass.cs选项,显示MyClass.cs中的代码,并在MyClass类中添加显示hello world的如下代码后,解决方案窗口右键ClassLibrary,点击生成。在项目Debug文件夹下生成了dll文件
namespace ClassLibrary                                        //定义ClassLibrary命名空间
     {
         public class MyClass                                      //定义MyClass类
         {
             public void HelloWorld()                              //HelloWorld函数
             {
                 System.Windows.Forms.MessageBox.Show("hello world");//弹出消息对话框
             }
         }
     }

(4)在当前解决方案中添加一个新项目,在弹出的“添加---新项目”窗口列表中选择““Windows窗体应用(.NET Framework)”选项,将名称栏中的项目名称改为WindowsFormsApplication

(5)为窗体应用程序WindowsFormsApplication项目添加对ClassLibrary项目所创建的类库的引用。在WindowsFormsApplication项目的引用选项下单击鼠标右键,在弹出的菜单中选择“添加引用” 

(5)在弹出的“添加引用”窗口中选择“浏览”选项卡,在查找范围下拉列表框中选择ClassLibrary项目所生成的DLL文件ClassLibrary.dll路径,该文件位于...........ClassLibrary\bin\Debug目录下。选择好DLL文件后单击右下角的“添加”按钮.

 

代码中引用: 

 (6)在WindowsFormsApplication项目的From1.cs文件下Form1类的构造函数中添加代码如下:
public Form1()                                     //Form1窗体构造函数
     {
         InitializeComponent();                         //窗体初始化函数
         MyClass myClass = new MyClass();               //实例化MyClass类
         myClass.HelloWorld();                          //调用MyClass类的HelloWorld方法
     }

启动 WindowsFormsApplication窗体应用程序:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/598703.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型日报|今日必读的 3 篇大模型论文

大家好,今日必读的大模型论文来啦! 1.清华团队提出“智能体医院”:医生智能体可实现自我进化 在这项工作中,来自清华大学的研究团队提出了一种名为“智能体医院”(Agent Hospital)的模拟医院,…

火山引擎数据飞轮携手美宜佳 探索拓店营销新思路

在刚刚过去的 3 月,美宜佳又交出了门店增长的高分答卷。 最新数据显示,美宜佳在全国的连锁店数已经超过 35000 家,每年净增 3000-4000 家店,月均服务顾客超 2 亿人次;同时,在中国连锁经营协会(CCFA)近日发布…

本机MySQL数据库服务启动了,但是cmd登录不上10061

注意:不建议安装MySQL8,建议直接使用phpstudy中自带的MySQL5.7 错误信息 ERROR 2003 (HY000): Cant connect to MySQL server on x.x.x.x (10061) 原因 可能是端口号错误。比如修改了my.ini中,或者phpstudy中数据库端口的配置,…

PLX82-EIP-61850 主要特点是什么?

PLX82-EIP-61850是一种基于以太网的电力线通信(PLC)设备,用于在现有的电力线网络上实现数据通信。这种设备通常用于智能电网、智能家居和工业自动化等领域,以实现远程监控和控制功能。 PLX82-EIP-61850的主要特点包括&#xff1a…

小心电子合同这个坑:PS章

近期,我发现网上有很多教程教大家如何自己动手用PS制作电子章, 看似方便,实则危机四伏! 通过PS技术,你可以生成任何一家公司的印章, 用以冒充电子章,或打印出来冒充实体章。 甚至还能进行做旧…

阿里云国际服(alibabacloud)介绍、注册、购买教程?

一、什么是阿里云国际版? 阿里云分为国内版和国际版。国内版仅面向中国大陆客户,国际版面向全球客户。 二、国际版与国内版有何异同? 1)异:除了目标客户不同,运营主体不同,所需遵守的法律与政…

【如此简单!数据库入门系列】之效率基石 -- 磁盘空间管理

文章目录 1 前言2 磁盘空间管理3 磁盘空间管理的实现4 存储对象关系5 总结6 系列文章 1 前言 如何将表中的记录存储在物理磁盘上呢? 概念模式中,记录(Record)表示表中的一行数据,由多个列(字段或者属性&…

Web 3.0时代:软文发稿对企业品牌的影响

Web 3.0的到来,标志着我们已经进入了一个全新的互联网时代。在这个新时代中,信息的生成和传播有了更多的可能性和更广的空间。作为企业品牌宣传的重要手段之一的软文发稿,在Web 3.0时代将会面临什么样的挑战和机遇? 首先&#xf…

YouTube广告全教学:形式、投放步骤与技巧(2024年更新)

YouTube作为全球最大的视频分享和观看平台吸引了大量的观众,这一平台以其无与伦比的用户参与度和覆盖范围,重新定义了人们获取与分享知识的方式,同时也为企业开辟了一片前所未有的营销蓝海。 据统计,全球观众平均每天观看 YouTub…

2024深圳杯数学建模C题完整思路+配套解题代码+半成品参考论文持续更新

所有资料持续更新,最晚我们将于5.9号更新参考论文。 【无水印word】2024深圳杯A题成品论文23页mtlab(python)双版本代码https://www.jdmm.cc/file/27105652024深圳杯数学建模C题完整思路配套解题代码半成品参考论文持续更新https://www.jdmm.cc/file/2710545 深圳杯…

Postman接口关联实战解析

在使用postman做接口测试时,有时候后面的接口需要获取前面接口的某一个返回值做为请求参数,这时就可以使用关联。 如从A接口提取出a字段的值,供B接口的b字段使用。 一个接口的返回报文如下: {"retCode": "0&quo…

了解外汇震荡类货币对特征与交易策略

外汇市场是全球最大的金融市场,每天的交易量超过6万亿美元。在这个市场上,货币对之间的价格变动反映了全球经济和政治动态。外汇货币对通常被分为三类:主要货币对、次要货币对和外来货币对。而在交易这些货币对时,市场表现通常分为…

ubuntu下pyinstaller打包多个.py文件

参考链接: https://blog.csdn.net/CholenMine/article/details/80964272 https://blog.csdn.net/BXD1314/article/details/125226289 前言 要把python项目打包成可执行程序运行,看了很多帖子,大多数博主都采用pyinstall 打包,但…

最好用的长线预警指标Lon 一键导入QMT

长线指标(LON)是一种加权的量价指标,其作用在于测量近期资金动向。属于中长线趋势类指标。 LON长线指标表现形式类似平滑异同移动平均线(MACD)和三重指数平滑移动平均指标(TRIX)等趋势型指标,但…

uniapp video 层级覆盖

层级覆盖 cover-view组件 我这里做了个判断 监听全屏时隐藏按钮 根据项目需求自行更改

Sermant在异地多活场景下的实践

Sermant社区在1.3.0和1.4.0版本相继推出了消息队列禁止消费插件和数据库禁写插件,分别用于解决异地多活场景下的故障切流和保护数据一致性问题。本文将对Sermant在异地多活场景下的实践进行剖析。 一、异地多活 1.1 什么是异地多活 对于一个软件系统,…

基于GEE遥感影像处理和长时序土地分类以及生物量估算分析

简介 Google Earth Engine云平台是目前全球范围内测绘领域内使用最为广泛的遥感云计算平台,其凭借强大的数据存储和云计算能力,极大了提高了全球科研工作者的科研产出,每年借助GEE平台发布的各类期刊论文超1000篇,在海量遥感数据的…

人脸美型SDK解决方案,适用于各类应用场景

视频内容已经成为企业宣传、产品展示、互动直播等多个领域的核心载体。而在这些场景中,高质量的人脸美型效果不仅能够提升用户体验,更能为品牌加分。美摄科技凭借深厚的技术积累和行业洞察,推出了全新的人脸美型SDK解决方案,为企业…

Spring IoCDI(3)—DI详解

目录 一、属性注入 二、构造方法注入 小结:构造函数的注入 三、Setter注入 四、三种注入的优缺点分析(面试题) 1、属性注入 优点: 缺点: 2、构造方法注入(Spring4.X推荐) 优点&#x…

JetBrains DataGrip v2024.1 激活版 (多引擎数据库管理开发)

JetBrains系列软件安装目录 一、JetBrains IntelliJ IDEA v2024.1 安装教程 (Java集成开发IDE) 二、JetBrains WebStorm v2024.1 激活版 (JavaScript集成开发IDE) 三、JetBrains PhpStorm v2024.1 安装教程 (PHP集成开发IDE) 四、JetBrains PyCharm Pro v2024.1 安装教程 (…