Pertanyaan mengecualikan kelas dari ruang nama yang digunakan


Pernyataan pertama dari semua file C # saya adalah "menggunakan Sistem;". Sekarang dengan framework versi 4, namespace ini berisi kelas yang disebut "Action". Ini juga merupakan nama untuk kelas im kode saya sendiri dalam ruang nama yang digunakan secara rutin. Sekarang tentu saja ada konflik. Ofcourse saya dapat menyelesaikan konflik ini dengan menggunakan "MyNamespace.Action" eksplisit di mana pun saya menggunakan "Action" sebelumnya. Ini beberapa ratus bahkan ribuan baris. Atau saya tidak dapat menggunakan namespace Sistem, yang tentu saja menyebabkan banyak masalah lainnya. Saya ingin menulis sesuatu seperti "menggunakan Sistem tetapi tidak System.Action", tetapi saya tidak dapat menemukan pernyataan untuk melakukan ini. Ada ide?


5
2017-09-13 12:50


asal


Jawaban:


Tidak, kamu tidak bisa.

Tetapi Anda bisa menambahkan using Action = MyNamespace.Action. Ini akan sangat membingungkan bagi pengembang baru, karena Action adalah bagian mendasar dari .net sejak 3,5 jadi saya sangat menyarankan Anda untuk mengganti nama kelas Anda.


8
2017-09-13 12:53



Direktif menggunakan memiliki dua kegunaan:

Untuk mengizinkan penggunaan jenis dalam namespace sehingga Anda tidak harus memenuhi syarat penggunaan jenis dalam ruang nama tersebut:

using System.Text;

Untuk membuat alias untuk namespace atau tipe (kamu bisa memilih yang ini).

using Project = PC.MyCompany.Project;

Kata kunci menggunakan juga digunakan untuk membuat menggunakan pernyataan, yang menentukan kapan suatu objek akan dibuang. Lihat menggunakan Pernyataan untuk informasi lebih lanjut.

http://msdn.microsoft.com/en-us/library/dd264736.aspx


1
2017-09-13 12:54