Rumah > pembangunan bahagian belakang > C++ > Sekiranya C# `menggunakan` arahan diletakkan di dalam atau di luar ruang nama?

Sekiranya C# `menggunakan` arahan diletakkan di dalam atau di luar ruang nama?

Linda Hamilton
Lepaskan: 2025-01-31 16:06:11
asal
625 orang telah melayarinya

Should C# `using` Directives Be Placed Inside or Outside the Namespace?

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:

1

2

3

4

5

6

7

8

9

10

11

using System;

namespace Outer.Inner

{

    class Foo

    {

        static void Bar()

        {

            double d = Math.PI;

        }

    }

}

Salin selepas log masuk
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

1

2

3

4

5

6

namespace Outer

{

    class Math

    {

    }

}

Salin selepas log masuk

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

Di samping itu, apabila arahan <此> terletak di ruang penamaan, pengkompil mencari ruang nama tertutup paling dalam sebelum mencari

1

2

3

4

5

6

7

8

9

10

11

namespace Outer.Inner

{

    using System;

    class Foo

    {

        static void Bar()

        {

            double d = Math.PI;

        }

    }

}

Salin selepas log masuk
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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan