コンパイル
DLLを作成
( Mono C#コンパイラを使用 )
mcs /target:library /out:MathLibrary.DLL Add.cs Mult.cs
実行ファイル TestCode.exe を作成
mcs /out:TestCode.exe /reference:MathLibrary.DLL TestCode.cs
コード
Add.cs
// File: Add.cs
namespace UtilityMethods
{
public class AddClass
{
public static long Add(long i, long j)
{
return (i + j);
}
}
}
Mult.cs
// File: Mult.cs
namespace UtilityMethods
{
public class MultiplyClass
{
public static long Multiply(long x, long y)
{
return (x * y);
}
}
}
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
*/
実行コード
usingディレクティブを指定することで、コンパイル中に非修飾クラスを使ってDLLメソッドを参照できる.
C#
using UtilityMethod;
MultiplyClass.Multiply( num1, num2 );
C#
UtilityMethod.MultiplyClass.Multiply( num1, num2 );