blavince's BLOG

Giving is a reward in itself.

0%

C# 導入外部 DLL

引用第三方的算法時, 更常見的是導入 DLL 來呼叫 API.

前言

引用外部的算法除了 NuGet 套件管理員 外, 更常見的是透過 動態連結函式庫 (Dynamic-link library,縮寫為DLL ), 這裡實作導入 Shopfloor 提供的 DLL 並透過定義好的接口實現上傳需求.

本文

  1. 導入 DLL
  2. 呼叫 API

1. 導入 DLL

在方案總管的解決方案點擊右鍵 加入(D)參考(R) 如下圖:

點擊 瀏覽(B)…SFSPortal.dll確定 如下圖:

PS. 將 set.ini 複製到執行檔所在資料夾.

2. 呼叫 API

加入 using:

1
using SFSATPortal;

宣告:

1
Portal portal = new Portal();

接口定義如下:

1
2
3
4
5
6
7
8
9
namespace SFSATPortal
{
public class Portal
{
public Portal();

public string ATPortal(string station, string step, string inputStr);
}
}

餵入參數:

1
2
3
4
5
string str_temp;
string t = DateTime.Now.ToString("yyyyMMddHHmmss");

str_temp = portal.ATPortal("EQ", "EQMonitor", "EQ_SN=EQ1600001345;$;EQ_LocationID=01;$;EQ_LocationID 2=NA;$;EQ_Status=Normal;$;EQ_ErrCode=;$;EQ_Msg=;$;EQ_Datetime=" + t + ";$;");
Console.WriteLine("EQ1600001345 " + str_temp);

傳輸成功, 結果如下圖:

同理, 自己編寫 function 的存取修飾詞為 public 就可以提供 DLL 給他人引用.