共用方式為


(2) 簡單元件化應用程式

當然,前述的 Hello World 應用程式只是一般應用程式,並非最簡單的實際程式。現在,您可以看看使用 .NET Framework 開發的簡介教學課程中詳細介紹的元件架構程式版本。2_Simple 子目錄中的這個新版本,使用 Client.exe 只呼叫單一元件 (Stringer.dll) 中型別上的方法。Stringer 元件的程式碼 (在 Stringer.cs 中) 中有幾個重要陳述式,第一個陳述式指出所含型別在通用命名空間中的位置:

namespace org {...}

同樣的,您必須建立一個類別:

public class Stringer {...}

這個類別中有一個欄位 (StringsSet)、建構函式 (Stringer,和類別本身同名)、定義方法 (GetString) 以及屬性 (Count),加上編譯器自動建立的對應屬性存取子 (get_Count):

private string[] StringsSet; 
public Stringer() {...}
public string GetString(int index) {...}
public int Count {
       get { return StringsSet.Length; }
}

這些全部加起來,用戶端程式就能參考 GetString 方法,例如,org.Stringer.GetString

編譯元件的 Ildasm.exe 顯示畫面,當然會顯示出所有成員:

用戶端中還有第二個 using 陳述式在指定命名空間,方便存取 Stringer.dll (這個程式碼在 Client.cs 中) 中的型別:

using org;

您可以直接在這個專案中建置檔案。首先,建置 Stringer.dll 元件。然後,建置 Client.exe,使用資訊清單所在的檔案名稱,而非命名空間名稱 (這裡的 org),來匯入元件:

csc /target:library ... Stringer.cs
csc /reference:Stringer.dll ... Client.cs

就像 Hello.exe,這個新的 Client.exe 中有它本身、.NET Framework 類別庫以及它使用的型別的資訊清單資訊。不過,它現在有的是 Stringer 元件和參考的包含型別 (這裡的 org.Stringer)。

**注意   **用戶端使用私密組件,因此不檢查版本資訊。

下圖是 Stringer 元件的資訊清單資訊:

在這個特殊範例中,DLL 構成整個組件。但是,未必一定如此。例如,有些開發案例可能需要將不同語言撰寫的 DLL,結合成一個組件。將不同語言撰寫的 DLL 結合成一個組件後,也許能夠適用特殊範圍規則,可在元件之間存取方法,但限制在組件內部存取。遇到這些情況時,您可以使用附錄 B:封裝和部署工具中介紹的組件連結器 (AL.exe) 以自訂組件。

請參閱

部署元件化應用程式 | (3) 私用元件路徑 | (4) 共用元件 | (5) 元件版本控制 | 封裝和部署摘要 | 附錄 A:其他封裝和部署資訊 | 附錄 B:封裝和部署工具