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。