如何:建立和使用 C# DLL(C# 編程指南)

來源:互聯網
上載者:User
 

動態連結程式庫 (DLL) 在運行時連結到程式。為說明如何產生和使用 DLL,請看以下方案:

  • MathLibrary.DLL:為庫檔案,其中包含運行時要調用的方法。此例中,DLL 包含兩個方法:Add 和 Multiply。

  • Add.cs:為源檔案,其中包含 Add(long i, long j) 方法。該方法返回參數之和。包含 Add 方法的 AddClass 類是命名空間 UtilityMethods 的成員。

  • Mult.cs:為源檔案,其中包含 Multiply(long x, long y) 方法。該方法返回參數之積。包含 Multiply 方法的 MultiplyClass 類也是命名空間 UtilityMethods 的成員。

  • TestCode.cs:包含 Main 方法的檔案。它使用 DLL 檔案中的方法來計算運行時參數的和與積。

 

Add.cs

 1 // File: Add.cs 
2 namespace UtilityMethods
3 {
4 public class AddClass
5 {
6 public static long Add(long i, long j)
7 {
8 return (i + j);
9 }
10 }
11 }
Mult.cs

 1 // File: Mult.cs
2 namespace UtilityMethods
3 {
4 public class MultiplyClass
5 {
6 public static long Multiply(long x, long y)
7 {
8 return (x * y);
9 }
10 }
11 }
TestCode.cs

 1 // File: TestCode.cs
2
3 using UtilityMethods;
4
5 class TestCode
6 {
7 static void Main(string[] args)
8 {
9 System.Console.WriteLine("Calling methods from MathLibrary.DLL:");
10
11 if (args.Length != 2)
12 {
13 System.Console.WriteLine("Usage: TestCode <num1> <num2>");
14 return;
15 }
16
17 long num1 = long.Parse(args[0]);
18 long num2 = long.Parse(args[1]);
19
20 long sum = AddClass.Add(num1, num2);
21 long product = MultiplyClass.Multiply(num1, num2);
22
23 System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
24 System.Console.WriteLine("{0} * {1} = {2}", num1, num2, product);
25 }
26 }

執行 運行CMD

若要運行程式,請輸入 EXE 檔案的名稱,檔案名稱的後面跟兩個數字,如下所示:

TestCode 1234 5678

輸出
Calling methods from MathLibrary.DLL:1234 + 5678 = 69121234 * 5678 = 7006652
編譯代碼

若要組建檔案 MathLibrary.DLL,請使用以下命令列編譯檔案 Add.cs 和檔案 Mult.cs:

csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs

/target:library 編譯器選項通知編譯器輸出 DLL 檔案而不是 EXE 檔案。後跟檔案名稱的 /out 編譯器選項用於指定 DLL 檔案名稱。否則,編譯器使用第一個檔案 (Add.cs) 作為 DLL 檔案名稱。

若要產生可執行檔 TestCode.exe,請使用以下命令列:

csc /out:TestCode.exe /reference:MathLibrary.DLL TestCode.cs

/out 編譯器選項通知編譯器輸出 EXE 檔案並且指定輸出檔案名 (TestCode.exe)。此編譯器選項是可選的。/引用編譯器選項指定該程式使用的 DLL 檔案。

原文地址:http://msdn.microsoft.com/zh-cn/library/3707x96z(VS.80).aspx
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.