首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 跨語言互操作實戰(三):C# 組件實作

     編輯:關於C語言

C# 版 DictionaryComponent 完整碼

// DICTCS.cs
using System;
namespace DICTCS {
    public class DictionaryComponent {
        private string languageName;
        private string[] availableLanguages = new string[4];

        public DictionaryComponent() {
            availableLanguages[0] = "Chinese";
            availableLanguages[1] = "English";
            availableLanguages[2] = "German";
            availableLanguages[3] = "French";
        }

        public bool LoadLibrary(string language) {
            for (int i = 0; i < 4; i++) {
                if (language == availableLanguages[i]) {
                    languageName = language;
                    return true;
                }
            }
            return false;
        }

        public void FreeLibrary() {
            languageName = null;
        }

        public string CurrentLibrary {
            get { return languageName; }
        }
    }
}

編譯指令


csc /out:..\Bin\DICTCS.dll /target:library DICTCS.cs
  • /target:library 產生 DLL。
  • /out 指定輸出目錄與檔名,便於統一佈署至 ..\Bin。

設計重點

  • 使用陣列儲存支援語言清單,LoadLibrary 線性搜尋(教學用途;實務建議用 HashSet 或 Dictionary 提升查找效能)。
  • CurrentLibrary 唯讀屬性暴露目前載入語言。
  • FreeLibrary 釋放參考,配合 GC 回收。
  • 類別標記 public 供跨組件存取。

與 C++/VB 版本對比

C# 版本最簡潔,開發效率最高,適合快速原型與生產環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
特性C#C++/CLIVB.NET
受控預設是需 /clr + __gc是
屬性語法get { }__propertyReadOnly Property
編譯步驟單步編譯+連結兩步單步