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#.