我們建立以下C#代碼檔案:
1、 MySwap.cs
using System;
namespace MyMethods
{
public class SwapClass
{
public static bool Swap(ref long i,ref long j)
{
i = i+j;
j = i-j;
i = i-j;
return true;
}
}
}
2、 MyMaxCD.cs
using System;
namespace MyMethods
{
public class MaxCDClass
{
public static long MaxCD(long i, long j)
{
long a,b,temp;
if(i>j)
{
a = i;
b = j;
}
else
{
b = i;
a = j;
}
temp = a % b;
while(temp!=0)
{
a = b;
b = temp;
temp = a % b;
}
return b;
}
}
}
}
CSC.EXE運行:csc /target:library /out:MyDLL.DLL MySwap.cs MyMaxCD.cs完成後可在本目錄下面找到我們剛才產生的MyDLL.DLL檔案/target:library 編譯器選項通知編譯器輸出 DLL 檔案而不是 EXE 檔案。後跟檔案名稱的 /out 編譯器選項用於指定 DLL 檔案名稱。如果/out後面不跟檔案名稱編譯器使用第一個檔案 (MySwap.cs) 作為 DLL 檔案名稱。產生的檔案為MySwap.DLL檔案。
建立:MyClient.cs 檔案:
using MyMethods;
class MyClient
{
public static void Main(string[] args)
{
if (args.Length != 2)
{
Console.WriteLine("Usage: MyClient <num1> <num2>");
return;
}
long num1 = long.Parse(args[0]);
long num2 = long.Parse(args[1]);
SwapClass.Swap(ref num1,ref num2);
// 請注意,檔案開頭的 using 指令使您得以在編譯時間使用未限定的類名來引用 DLL 方法
Console.WriteLine("The result of swap is num1 = {0} and num2 ={1}",num1, num2);
long maxcd = MaxCDClass.MaxCD(num1,num2);
Console.WriteLine("The MaxCD of {0} and {1} is {2}",num1, num2, maxcd);
}
}
若要產生可執行檔 MyClient.exe,請使用以下命令列:
csc /out:MyClient.exe /reference:MyLibrary.DLL MyClient.cs
/out 編譯器選項通知編譯器輸出 EXE 檔案並且指定輸出檔案名 (MyClient.exe)。/reference 編譯器選項指定該程式所引用的 DLL 檔案。
若要運行程式,請輸入 EXE 檔案的名稱,檔案名稱的後面跟兩個數字,例如:
MyClient 123 456