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

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

Susan Sarandon
Lepaskan: 2025-01-31 16:11:09
asal
638 orang telah melayarinya

Should C# `using` Directives Be Inside or Outside Namespaces?

C#

Kedudukan terbaik arahan: Adakah di dalam ruang penamaan atau ruang nama? using Apabila menulis kod C#, penempatan arahan sering mengelirukan, terutamanya apabila Stylecop mencadangkan untuk meletakkannya di ruang nama. Walaupun ini nampaknya secara rawak ditetapkan, terdapat sedikit perbezaan antara kedua -dua kaedah.

mari kita lihat contoh. using

Sekarang, jika kita menambah fail

, kandungannya adalah seperti berikut: File1.cs

using System;
namespace Outer.Inner
{
    class Foo
    {
        static void Bar()
        {
            double d = Math.PI;
        }
    }
}
Salin selepas log masuk
pengkompil akan memberi keutamaan kepada

yang dinamakan ruang dan bukannya arahan File2.cs luaran, menyebabkan rujukan kepada

kegagalan. Ini kerana pengkompil pertama cuba menganalisis simbol dalam ruang nama tertutup baru -baru ini.
namespace Outer
{
    class Math
    {
    }
}
Salin selepas log masuk

Walau bagaimanapun, jika kita meletakkan arahan Outer dalam pernyataan ruang nama, seperti yang ditunjukkan di bawah: using System.Math

pengkompil akan terlebih dahulu mencari simbol di ruang penamaan

, dan kemudian cari using penamaan ruang untuk menganalisis dengan betul rujukan

.
namespace Outer.Inner
{
    using System;
    class Foo
    {
        static void Bar()
        {
            double d = Math.PI;
        }
    }
}
Salin selepas log masuk

Perlu diperhatikan bahawa tingkah laku ini juga boleh digunakan untuk ruang penamaan bersarang, dan pengkompil sentiasa mencari lapisan paling dalam penamaan ruang. Sebagai contoh, jika terletak di System, kemudian menambah Outer dalam System.Math dalam kedudukan arahan

akan menyebabkan kegagalan kompilasi

. Foo Oleh itu, untuk mengelakkan konflik menamakan dan memastikan ketepatan kod, adalah disyorkan untuk meletakkan arahan namespace Outer di ruang nama. File2

Atas ialah kandungan terperinci Sekiranya C# `menggunakan` arahan berada 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