Bagikan melalui


alias ekstern (Referensi C#)

Anda mungkin harus mereferensikan dua versi rakitan yang memiliki nama jenis yang sepenuhnya memenuhi syarat yang sama. Misalnya, Anda mungkin harus menggunakan dua atau beberapa versi rakitan dalam aplikasi yang sama. Dengan menggunakan alias rakitan eksternal, namespace layanan dari setiap rakitan dapat dibungkus di dalam namespace layanan tingkat akar yang dinamai oleh alias, yang memungkinkannya digunakan dalam file yang sama.

Catatan

Kata kunci ekstern juga digunakan sebagai pengubah metode, mendeklarasikan metode yang ditulis dalam kode tak terkelola.

Untuk mereferensikan dua rakitan dengan nama jenis yang sepenuhnya memenuhi syarat yang sama, alias harus ditentukan pada perintah, sebagai berikut:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

Ini membuat alias GridV1 eksternal dan GridV2. Untuk menggunakan alias ini dari dalam program, referensikan dengan menggunakan kata kunci extern. Contohnya:

extern alias GridV1;

extern alias GridV2;

Setiap deklarasi alias ekstern memperkenalkan namespace layanan tingkat akar tambahan yang paralel (tetapi tidak terletak di dalam) namespace layanan global. Dengan demikian jenis dari setiap rakitan dapat disebut tanpa ambiguitas dengan menggunakan nama mereka yang sepenuhnya memenuhi syarat, yang berakar pada namespace layanan yang sesuai-alias.

Dalam contoh sebelumnya, GridV1::Grid akan menjadi kontrol kisi dari grid.dll, dan GridV2::Grid akan menjadi kontrol kisi dari grid20.dll.

Menggunakan Visual Studio

Jika Anda menggunakan Visual Studio, alias dapat disediakan dengan cara yang sama.

Tambahkan referensi grid.dll dan grid20.dll ke proyek Anda di Visual Studio. Buka tab properti dan ubah Alias dari global ke GridV1 dan GridV2 masing-masing.

Gunakan alias ini dengan cara yang sama di atas

 extern alias GridV1;  
  
 extern alias GridV2;  

Sekarang Anda dapat membuat alias untuk namespace layanan atau jenis dengan menggunakan direktif alias. Untuk informasi selengkapnya, lihat menggunakan direktif.

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

Spesifikasi Bahasa C#

Untuk informasi selengkapnya, lihat Spesifikasi Bahasa C#. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.

Lihat juga