如何:建立和使用 C# DLL類庫檔案

來源:互聯網
上載者: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 檔案中的方法來計算運行時參數的和與積。

Code: Add.cs

// File: Add.cs 
namespace UtilityMethods
{
    public class AddClass 
    {
        public static long Add(long i, long j) 
        { 
            return (i + j);
        }
    }

}

 

 Code: Mult.cs

// File: Mult.cs
namespace UtilityMethods 
{
    public class MultiplyClass
    {
        public static long Multiply(long x, long y) 
        {
            return (x * y); 
        }
    }


Code: testCode.cs

// File: TestCode.cs

using UtilityMethods;

class TestCode
{
    static void Main(string[] args) 
    {
        System.Console.WriteLine("Calling methods from MathLibrary.DLL:");

        if (args.Length != 2)
        {
            System.Console.WriteLine("Usage: TestCode <num1> <num2>");
            return;
        }

        long num1 = long.Parse(args[0]);
        long num2 = long.Parse(args[1]);

        long sum = AddClass.Add(num1, num2);
        long product = MultiplyClass.Multiply(num1, num2);

        System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
        System.Console.WriteLine("{0} * {1} = {2}", num1, num2, product);
    }
}
/* Output (assuming 1234 and 5678 are entered as command line args):
    Calling methods from MathLibrary.DLL:
    1234 + 5678 = 6912
    1234 * 5678 = 7006652        

*/ 


 此檔案包含使用 DLL 方法 Add 和 Multiply 的演算法。它首先分析從命令列輸入的參數 num1 和 num2。然後使用 AddClass 類中的 Add 方法計算和,使用 MultiplyClass 類中的 Multiply 方法計算積。

請注意,檔案開頭的 using 指令使您得以在編譯時間使用未限定的類名來引用 DLL 方法

 

執行

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

TestCode 1234 5678 

 

編譯 

 

若要組建檔案 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 檔案。 

 

補充 : 

 CSC.exe:需要在命令提示字元裡輸入,一般安裝好vs並不預設添加此路徑,可以手動添加,我的是vs2010,csc.exe的路徑為:C:\Windows\Microsoft.NET\Framework\v4.0.30319

 

編譯完成後的dll檔案可以直接在其他項目裡使用,將dll檔案拷入其他項目裡,在項目資源管理員裡添加引用,就可以直接使用了.

如:

using UtilityMethods;

namespace MulMethod01
{
    class Program
    {
        static void Main(string[] args)
        {
            int m = 123;
            int n = 456;
            
           int sum =AddClass.Add(m,n);
           int mul = MultiplyClass.Multiply(m, n);
           Console.WriteLine("Sum={0},Mul={1}",sum, mul);
           Console.ReadKey();
        }
    }


 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.