Rumah >pembangunan bahagian belakang >C++ >Sekiranya C# `menggunakan` arahan diletakkan di dalam atau di luar ruang nama?
C#
Arahan: Memanggil ruang atau di luar?
using
Apabila menyemak kod C# dengan Stylecop, anda boleh menerima amaran, dan disyorkan bahawa pernyataan arahan dalam ruang nama. Walaupun sesetengah pemaju mungkin lebih cenderung untuk meletakkan mereka di luar ruang nama, memang ada sebab teknikal untuk mempertimbangkan meletakkannya di ruang nama.
Pengaruh organisasi fail using
Bayangkan dua fail, file1.cs dan file2.cs, seperti yang ditunjukkan di bawah: file1.cs:
file2.cs:
<code class="language-csharp">using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } }</code>Jika diletakkan di luar ruang penamaan (seperti file1.cs), pengkompil akan memberi keutamaan untuk mencari ruang nama dalaman. Oleh itu, ia akan mencari outer.math bukan System.Math. Jika out.math tidak mempunyai ahli yang diperlukan, ini boleh menyebabkan kesilapan.
Penyelesaian: Tempat Arahan dalam ruang nama
<code class="language-csharp">namespace Outer { class Math { } }</code>
meletakkan di ruang nama (seperti yang ditunjukkan dalam file1b.cs berikut) dapat memastikan sistem carian sebelum mencari ruang nama dalaman: using
Dalam kes ini, pengkompil akan mendapati sistem.math untuk menyelesaikan kesilapan yang berpotensi yang disebabkan oleh definisi konflik di ruang penamaan yang berbeza.
using
Langkah berjaga -jaga
Arahan boleh diletakkan di ruang penamaan untuk memudahkan penyelenggaraan kod dengan memastikan ruang rujukan yang konsisten. Ia juga boleh menyerlahkan konflik yang berpotensi antara kelas yang ditakrifkan dan sistem yang dinamakan ruang yang ditakrifkan oleh pengguna. using
<code class="language-csharp">namespace Outer.Inner { using System; class Foo { static void Bar() { double d = Math.PI; } } }</code>arahan. Ini bermakna bahawa menambah over.math ke file2.cs akan memusnahkan file1.cs, tidak kira di mana arahan
diletakkan.
Atas ialah kandungan terperinci Sekiranya C# `menggunakan` arahan diletakkan di dalam atau di luar ruang nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!