建立和使用c#DLL(摘自MSDN)

來源:互聯網
上載者:User
動態連結程式庫 (DLL) 在運行時連結到程式。為說明如何產生和使用 DLL,請看以下方案:

  • MyLibrary.DLL:為庫檔案,其中包含運行時要調用的方法。此例中,DLL 包含兩個方法:Add 和 Multiply。
  • Add.cs:為源檔案,其中包含 Add(long i, long j) 方法。該方法返回參數之和。包含 Add 方法的 AddClass 類是命名空間 MyMethods 的成員。
  • Mult.cs:為源檔案,其中包含 Multiply(long x, long y) 方法。該方法返回參數之積。包含 Multiply 方法的 MultiplyClass 類也是命名空間 MyMethods 的成員。
  • MyClient.cs:包含 Main 方法的檔案。它使用 DLL 檔案中的方法來計算運行時參數的和與積。

    源檔案檔案:Add.cs 
    // Add two numbers    using System;    namespace MyMethods    {    public class AddClass    {    public static long Add(long i, long j)    {    return(i+j);    }    }    }

    檔案:Mult.cs 
    // Multiply two numbers    using System;    namespace MyMethods    {    public class MultiplyClass    {    public static long Multiply(long x, long y)    {    return (x*y);    }    }    }

    檔案:MyClient.cs 
    // Calling methods from a DLL file    using System;    using MyMethods;    class MyClient    {    public static void Main(string[] args)    {    Console.WriteLine("Calling methods from MyLibrary.DLL:");    if (args.Length != 2)    {    Console.WriteLine("Usage: MyClient <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);    Console.WriteLine("The sum of {0} and {1} is {2}",    num1, num2, sum);    Console.WriteLine("The product of {0} and {1} is {2}",    num1, num2, product);    }    }

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

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

    MultiplyClass.Multiply(num1, num2); 

    否則,必須使用完全限定名,例如: 

    MyMethods.MultiplyClass.Multiply(num1, num2); 

    編譯

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

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

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

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

    csc /out:MyClient.exe /reference:MyLibrary.DLL MyClient.cs

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

    執行

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

    MyClient 1234 5678

    輸出 
    Calling methods from MyLibrary.DLL:    The sum of 1234 and 5678 is 6912    The product of 1234 and 5678 is 7006652

相關文章

聯繫我們

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