18.2.3 C#組件
為了比較起見,我們也使用C#編寫了一個類似的組件,具體的代碼就不用再詳細進行分析了。
程序清單18-5:
//DICTCS.cs
using System;
namespace DICTCS
{
public Class DictionaryComponent
{
private string languageName;
private string[] AvailableLanguage=new string[4];
public DictionaryComponent()
{
AvailableLanguage[0]="Chinese";
AvailableLanguage[1]="English";
AvailableLanguage[2]="German";
AvailableLanguage[3]="French";
}
public bool LoadLibrary(String language)
{
for(int i=0;i<4;i++){
if(language==AvailableLanguage[i])
break;
}
if(i==4)
return false;
LanguageName=language;
return true;
}
public void FreeLibrary(){
languageName=null;
}
public string CurrentLibrary{
get{
return LanguageName;
}
}
}
}
這裡,編譯的命令比我們常用到的稍微復雜了一些:
csc /out:..\Bin\DICTCS.dll/target:library DICTCS.cs
和C++一樣,我們使用/out選項把編譯後的組件輸出到當前目錄的“..\Bin”子目錄。同樣,我們也需要使用/target:library編譯選項來告訴編譯器創建一個DLL。