OVH Cloud OVH Cloud

Directive "using"

3 réponses
Avatar
Julien
Bonjour,

Après avoir bataillé plusieurs (longues) minutes avec NUnit, j'ai une petite
question à propos de la directive "using".

Voici 2 codes:

// -- Code 1 -----------
using System;
using NUnit.Framework;

namespace Mon.Namespace
{
// Classes ...
}

// -- Code 2 -----------
namespace Mon.Namespace
{
using System;
using NUnit.Framework;

// Classes ...
}

Le code n°2 ne compile pas sous Visual Studio 2003, celui-ci me dit qu'il ne
trouve pas NUnit.Framework alors qu'il est bien référencé dans mes "References"
de ma solution.
Le code n°1 quand à lui se compile sans aucun problème.

Je ne comprend donc pas quel est la différence entre inclure la directive using
en dehors du namespace ou l'inclure dans le namespace.

Merci d'avance.

Julien.

3 réponses

Avatar
Lloyd Dupont
je me demande si dans le cas 2 tu ne reference pas en fait
Mon.Namespace.System
&
Mon.Namespace.Nunit.Framework;

d'ailleurs en 2.0 ils ont rajouter un qualificatif absolu:
::System;

...
"Julien" wrote in message
news:OVs8rS$
Bonjour,

Après avoir bataillé plusieurs (longues) minutes avec NUnit, j'ai une
petite question à propos de la directive "using".

Voici 2 codes:

// -- Code 1 -----------
using System;
using NUnit.Framework;

namespace Mon.Namespace
{
// Classes ...
}

// -- Code 2 -----------
namespace Mon.Namespace
{
using System;
using NUnit.Framework;

// Classes ...
}

Le code n°2 ne compile pas sous Visual Studio 2003, celui-ci me dit qu'il
ne trouve pas NUnit.Framework alors qu'il est bien référencé dans mes
"References" de ma solution.
Le code n°1 quand à lui se compile sans aucun problème.

Je ne comprend donc pas quel est la différence entre inclure la directive
using en dehors du namespace ou l'inclure dans le namespace.

Merci d'avance.

Julien.


Avatar
Julien
> je me demande si dans le cas 2 tu ne reference pas en fait
Mon.Namespace.System
&
Mon.Namespace.Nunit.Framework;



J'en arrive à la même conclusion mais je ne comprend pas pourquoi dans le cas
de NUnit ca ne fonctionne pas alors que pour les System.* ca ne cause aucun
problème.
Peut être que par défaut System.* est présent dans tous les namespaces ?

Cordialement,

Julien.
Avatar
Ambassadeur Kosh
using System;
using System.Windows.Forms;

namespace Youpi
{
class Cool
{
Cool(double x) { this.x = x ; }
public double x ;
}
}

namespace Other
{
using Youpi ;
class Cooler
{
Cooler(Cool x) { this.x = x ; }
public Cool x ;
}
}

vos hypoteses sur la portée, ça ne tient pas.
quant à NUnit, je m'en sers, et je n'ai aucune embrouille avec...
donc, c'est autre chose...