外部別名 (C# 參考)

您可能必須參考兩個具有相同完整類型名稱的組件版本。 例如,您可能必須在相同的應用程式中使用兩個或多個組件版本。 藉由使用外部組件別名,來自每個組件的命名空間可包裝在別名所命名的根層級命名空間內,這樣即可讓它們在相同的檔案中使用。

注意

extern 關鍵字也可作為方法修飾詞,用於宣告以 Unmanaged 程式碼撰寫的方法。

若要參考兩個具有相同完整類型名稱的組件,則必須在命令提示字元中指定別名,如下所示:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

這會建立外部別名 GridV1GridV2。 若要從程式內使用這些別名,請使用 extern 關鍵字參考別名。 例如:

extern alias GridV1;

extern alias GridV2;

每個外部別名宣告會引進另一個與全域命名空間平行 (但不在其內) 的根層級命名空間。 因此,來自每個組件的類型可使用其完整名稱 (源自適當的命名空間別名) 來參考,而不會有模擬兩可的情況。

在上述範例中,GridV1::Grid 是來自 grid.dll 的方格控制項,而 GridV2::Grid 是來自 grid20.dll 的方格控制項。

使用 Visual Studio

如果您使用 Visual Studio,則可以透過類似的方式提供別名。

在 Visual Studio 中,將 grid.dllgrid20.dll 的參考新增至您的專案。 開啟屬性索引標籤,並將別名從 global 分別變更為 GridV1 和 GridV2。

以上述相同方式使用這些別名

 extern alias GridV1;  
  
 extern alias GridV2;  

現在您可以「使用別名指示詞」,為命名空間或類型建立別名。 如需詳細資訊,請參閱 using 指示詞

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

C# 語言規格

如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法及用法的限定來源。

另請參閱