Maison > développement back-end > C++ > Les directives C # «Utilisation» devraient-elles être placées à l'intérieur ou à l'extérieur de l'espace de noms?

Les directives C # «Utilisation» devraient-elles être placées à l'intérieur ou à l'extérieur de l'espace de noms?

Linda Hamilton
Libérer: 2025-01-31 16:06:11
original
625 Les gens l'ont consulté

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

c #

Instruction: appeler l'espace ou à l'extérieur? using Lorsque vous vérifiez le code C # avec Stylecop, vous pouvez recevoir un avertissement et il est recommandé de l'instruction d'instruction dans l'espace de nom. Bien que certains développeurs puissent être plus enclins à les mettre en dehors de l'espace de nom, il y a en effet une raison technique d'envisager de les mettre dans l'espace de nom.

L'influence de l'organisation des fichiers using

Imaginez les deux fichiers, file1.cs et file2.cs, comme indiqué ci-dessous: 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;

        }

    }

}

Copier après la connexion
Si <令> est placé à l'extérieur de l'espace de dénomination (tel que file1.cs), le compilateur donnera la priorité à la recherche de l'espace de noms interne. Par conséquent, il trouvera exter.math au lieu de System.math. Si outr.math n'a pas les membres requis, cela peut entraîner des erreurs.

<决> Solution: Placer Instructions dans l'espace de nom

1

2

3

4

5

6

namespace Outer

{

    class Math

    {

    }

}

Copier après la connexion

Placer <令> dans l'espace de nom (comme indiqué dans le fichier 1b.cs suivant) peut s'assurer que la recherche du système avant de rechercher l'espace de nom interne: using

Dans ce cas, le compilateur trouvera System.math pour résoudre les erreurs potentielles causées par la définition du conflit dans différents espaces de dénomination. using <事> Précautions

<令> Les instructions peuvent être placées dans l'espace de dénomination pour simplifier la maintenance du code en garantissant un espace de référence cohérent. Il peut également mettre en évidence le conflit potentiel entre les classes définies et le système nommé espaces définis par l'utilisateur. using

De plus, lorsque l'instruction <此> est située dans l'espace de dénomination, le compilateur recherche l'espace de nom fermé le plus intérieur avant de rechercher des instructions

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;

        }

    }

}

Copier après la connexion
. Cela signifie que l'ajout d'un over.math à file2.cs détruira file1.cs, peu importe où l'instruction

est placée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal