c# 如何将方法封装成dll类库?

c# 如何将方法封装成dll类库?,第1张

a.打开visualstudio-文件-新建-项目-类库-名称MyTestDll;

b.右键Class1.cs-修改为TestDll.cs

c.在里面写一个自己想 *** 作的函数

d.保存-生成解决方案;

e.这是你的Debug文件夹下就会有一个MyTestDll.dll文件,你就可以把它放在你想引用的工程。

DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。

创建新的动态链接库 (DLL) 项目

从 “文件”菜单中,选择 “新建”,然后选择 “项目…”。

在 “项目类型”窗格中,选择 “Visual C++”下的 “Win32”。

在 “模板”窗格中,选择 “Win32 控制台应用程序”。

为项目选择一个名称,如

MathFuncsDll,并将其键入 “名称”字段。 为解决方案选择一个名称,如

DynamicLibrary,并将其键入 “解决方案名称”字段。

单击 “确定”启动 Win32 应用程序向导。

在 “Win32 应用程序向导”对话框的 “概述”页中,单击 “下一步”。

在 “Win32 应用程序向导”中的 “应用程序设置”页中,选择 “应用程序类型”下的 “DLL”(如果可用),或者选择 “控制台应用程序”(如果 “DLL”不可用)。 某些版本的 Visual Studio

不支持通过使用向导创建 DLL 项目。您可以稍后对此进行更改,以将项目编译为

DLL。

在 “Win32 应用程序向导”的 “应用程序设置”页中,选择 “附加选项”下的 “空项目”。

单击 “完成”创建项目。

向动态链接库添加类

若要为新类创建头文件,请从 “项目”菜单中选择 “添加新项…”。

将显示 “添加新项”对话框。

在 “类别”窗格中,选择 “Visual C++”下的 “代码”。 在 “模板”窗格中选择 “头文件(.h)”。 为头文件选择一个名称,如

MathFuncsDll.h,并单击 “添加”。 将显示一个空白文件。

添加一个名为“MyMathFuncs”的简单类,以执行常见的算术运算,如加、减、乘和除。代码应与以下内容类似:

以带有颜色区分的格式查看复制到剪贴板打印

// MathFuncsDll.h

namespace MathFuncs

{

class MyMathFuncs

{

public:

// Returns a + b

static __declspec(dllexport) double Add(double a, double b)

// Returns a - b

static __declspec(dllexport) double Subtract(double a, double b)

// Returns a * b

static __declspec(dllexport) double Multiply(double a, double b)

// Returns a / b

// Throws DivideByZeroException if b is 0

static __declspec(dllexport) double Divide(double a, double b)

}

}

// MathFuncsDll.h

namespace MathFuncs

{

class MyMathFuncs

{

public:

// Returns a + b

static __declspec(dllexport) double Add(double a, double b)

// Returns a - b

static __declspec(dllexport) double Subtract(double a, double b)

// Returns a * b

static __declspec(dllexport) double Multiply(double a, double b)

// Returns a / b

// Throws DivideByZeroException if b is 0

static __declspec(dllexport) double Divide(double a, double b)

}

}

请注意此代码方法声明中的 __declspec(dllexport) 修饰符。 这些修饰符使 DLL

能够导出该方法以供其他应用程序使用。有关更多信息,请参见 dllexport, dllimport。

若要为新类创建源文件,请从 “项目”菜单中选择 “添加新项…”。

将显示 “添加新项”对话框。

在 “类别”窗格中,选择 “Visual C++”下的 “代码”。 在 “模板”窗格中,选择 “C++ 文件(.cpp)”。 为源文件选择一个名称,如

MathFuncsDll.cpp,并单击 “添加”。 将显示一个空白文件。

在源文件中实现“MyMathFuncs”的功能。代码应与以下内容类似:

以带有颜色区分的格式查看复制到剪贴板打印

// MathFuncsDll.cpp

// compile with: /EHsc /LD

#include "MathFuncsDll.h"

#include <stdexcept>

using namespace std

namespace MathFuncs

{

double MyMathFuncs::Add(double a, double b)

{

return a + b

}

double MyMathFuncs::Subtract(double a, double b)

{

return a - b

}

double MyMathFuncs::Multiply(double a, double b)

{

return a * b

}

double MyMathFuncs::Divide(double a, double b)

{

if (b == 0)

{

throw new invalid_argument("b cannot be zero!")

}

return a / b

}

}

// MathFuncsDll.cpp

// compile with: /EHsc /LD

#include "MathFuncsDll.h"

#include <stdexcept>

using namespace std

namespace MathFuncs

{

double MyMathFuncs::Add(double a, double b)

{

return a + b

}

double MyMathFuncs::Subtract(double a, double b)

{

return a - b

}

double MyMathFuncs::Multiply(double a, double b)

{

return a * b

}

double MyMathFuncs::Divide(double a, double b)

{

if (b == 0)

{

throw new invalid_argument("b cannot be zero!")

}

return a / b

}

}

若要将项目生成为 DLL,请从

“项目”菜单中选择

MathFuncsDll “属性...”。 在左窗格中,选择 “配置属性”下的 “常规”。

在右窗格中,将 “配置类型”更改为 “动态库(.dll)”。

单击 “确定”保存更改。

说明

如果您从命令行生成项目,请使用

/LD 编译器选项指定输出文件应为 DLL。

有关更多信息,请参见 /MD、/MT、/LD(使用运行库)。

编译该动态链接库,方法是选择

“生成”菜单中的 “生成解决方案”。

这样就创建了一个可供其他程序使用的

DLL。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7806426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存