C#中加载dll并调用其函数的实现方法
作者:jingxian 发布时间:2022-06-27 17:14:08
标签:C#,加载dll,调用,函数
C#编程中,调用封装dll中的函数是高频使用的。那么,如何在程序中加载dll并调用其中的函数呢?更进一步的,如何在主程序中对自己封装的dll中的函数进行调试呢?
加载dll-添加引用
添加引用的意思是让程序生成时根据配置的路径去加载相应的dll。其引用的步骤如下图所示:
解决方案->引用-> 添加引用-> 浏览-> 选择dll所在的路径->确定
导入命名空间、实例化对象、调用函数
只有导入该dll的命名空间,才能使用该空间下的类。因此,在引用了dll之后的第一步是导入命名空间;第二步才是实例化该类对象;最后才是使用类对象来调用其成员函数。下面所示的代码是调用封装好的DMC3000.dll中的初始化函数。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using nsLTDMC;
//(1)引入命名空间
using nsDMC3000;
namespace DalsaConfig
{
public partial class Form1 : Form
{
//(2)声明类对象
DMC3000 m_f1DMC3000;
public Form1()
{
//(3)实例化类对象
m_f1DMC3000 = new DMC3000();
InitializeComponent();
//(4)调用dll中的函数
bool bIniResult = m_f1DMC3000.Init();
if (true == bIniResult)
{
MessageBox.Show("Init OK");
}
else
{
MessageBox.Show("Init Failed!");
}
}
}
}
调试dll函数的步骤
前面2个基本步骤是如何调用dll中的函数,而本步骤是调试自己封装的dll的步骤。
添加现有项目
添加现有项目是指将封装好的dll项目加载到主程序中,这样,才能在调试时单步进入dll调用的函数。
设置依赖关系
依赖关系是指,规定主程序为启动项目,dll程序为依赖项目。


猜你喜欢
- 1:设置注释的模板:下载此模板:codetemplates.xml搜索Dangzhang,将其改为你自己的姓名,保存打开eclipse/my
- 对于Android开发者来说虽然使用了可以自动管理内存的Java语言,但是对于内存管理不当,可能你的应用不断出现类似INFO/dalvikv
- 本文实例讲述了java GUI编程之paint绘制操作。分享给大家供大家参考,具体如下:import java.awt.*;public c
- 使用场景EntityListeners在jpa中使用,如果你是mybatis是不可以用的它的意义对实体属性变化的跟踪,它提供了保存前,保存后
- 相对于Swing来说,JavaFX在UI上改善了很多,不仅可以通过FXML来排版布局界面,同时也可以通过CSS样式表来美化UI。其实在开发J
- 一、int还记得 C 语言里的 int 吗,C里面的 int 有着无符号与有符号之分但是Java内就没有,且固定占4个字节大小,也就是32比
- 如下所示:using System;using System.Collections.Generic;using System.Linq;u
- 如下所示:import java.util.ArrayList;//java中申请不定长度数组public class Test01 {pu
- IDE工具之IDEA2022.2的简介、下载与安装、初步配置IDEA简介概述IDEA全称是IntelliJ,是JetBrains公司推出一个
- SpringBoot下载Excel文件文件损坏我把模板文件放在了resources目录下maven插件打包项目的时候,默认会压缩resour
- 在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文
- 1.Android 加载https请求的网页的时候 打不开当load有ssl层的https页面时,如果这个网站的安全证书在Android无法
- Quartz与Spring集成方式:1.MethodInvokeJobDetailFactoryBean2.JobDetailBean下面分
- 问题在使用 Abp 框架的后台作业时,当后台作业抛出异常,会导致整个程序崩溃。在 Abp 框架的底层执行后台作业的时候,有 try/catc
- 要求:用DateTimeFormatter实现: 用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格
- 1. 前言我们知道,在日常开发中使用的 HashMap 是线程不安全的,而线程安全类 HashTable 和 SynchronizedMap
- JavaFx中其实也可以直接使用字体图标iconfont的,只需要加载ttf字体文件,之后设置unicode即可,具体可以看我给出的代码既然
- using System.Drawing;using System.Drawing.Imaging;using System.IO;usin
- [LeetCode] 159. Longest Substring with At Most Two Distinct Characters
- @Scheduled多个任务同时开始执行只需在springBoot启动类上添加如下代码即可:@Bean publi