您可能必須參考兩個具有相同完整類型名稱的元件版本。 例如,您可能必須在同一個應用程式中使用兩個以上的元件版本。 藉由使用外部元件別名,每個元件的命名空間都可以包裝在別名所命名的根層級命名空間內,以便將它們用於相同的檔案中。
備註
extern 關鍵詞也用來做為方法修飾詞,宣告以 Unmanaged 程式代碼撰寫的方法。
若要參考兩個具有相同完整類型名稱的元件,必須在命令提示字元中指定別名,如下所示:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
這會建立外部別名 GridV1 和 GridV2。 若要從程式內使用這些別名,請使用 extern 關鍵詞來參考它們。 例如:
extern alias GridV1;
extern alias GridV2;
每個 extern 別名宣告都會導入額外的根層級命名空間,該命名空間會平行處理全域命名空間,但不會位於全域命名空間內。 因此,每個元件中的類型都可以使用其完整名稱,在適當的 namespace-alias 中加以參考,而不會模棱兩可。
在上一個範例中, GridV1::Grid 是 來自 grid.dll的方格控件,而 GridV2::Grid 會是 來自 grid20.dll的網格線控件。
使用 Visual Studio
如果您使用 Visual Studio,可以使用類似的方式提供別名。
將 grid.dll 和 grid20.dll 的參考新增至Visual Studio中的專案。 開啟屬性索引標籤,並將別名分別從全域變更為 GridV1 和 GridV2。
使用上述相同方式的這些別名
extern alias GridV1;
extern alias GridV2;
現在您可以使用 alias 指示詞來建立命名空間或類型的別名。 如需詳細資訊,請參閱 using指示詞。
using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法和使用方式的最終來源。