aquibad
Messages postés33Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention15 mai 2008
-
1 déc. 2005 à 16:18
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 2007
-
1 déc. 2005 à 22:19
bonjour tout le monde,
Etant débutant j'ai un souci avec les namespaces.
J'ai repris un exemple et voila comment je l'utilise.
j'ai un form et dans celui ci , j'ai mis deux namespaces. Alors déjà je sais pas si c'est correct ?.
Le but est que dans le deuxieme namespace je déclare une classe qui hérite d'une classe abstraite déclaré dans le premier namespace.
Et là , il refuse ! .
il indique que "DataProvider" est introuvable, qu'il manque soit un using soit un assembly.
Exemple du ( deuxieme namespace) :
namespace
Multi_Base.ConcreteProviders{
//Construction DataProvider spécifique à celui de SQL Server.
public abstract class DataProviderSqlClient : DataProvider{....}
Comment faire ? Dois-je créer un autre projet et y mettre mon deuxieme namespace, le compiler (je sais pas en quoi) et l'interger au premier projet comme référence?
J'évoue que je suis perdu ?
Cordialement.
A voir également:
Le nom de type ou d'espace de noms est introuvable
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 1 déc. 2005 à 18:00
J'avais pas fait attention, a quoi bon déclarer ta class DataProvider et ton interface IDataProvider dans la classe Form1 (en public, j'entends).
Si tu ne les déclare pas en Private (donc accessible seulement pour Form1), sors les de Form1.
Autrement, je pense que ca ne marche pas avec le using parce que ta classe DataProviderSqlClient
est dans le meme fichier que l'autre classe. Donc 2 espaces de nom dans un meme fichier, et il doit pas s'en sortir. Si tu la met dans un autre fichier, cela marchera avec le using.
Autre question, pourquoi ne pas mettre tes classes dans un seul et meme espace de nom ?
cs_coq
Messages postés6350Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 1 déc. 2005 à 16:27
L'autre solution est de spécifier le nom complet de DataProvider, à savoir LeNamespace.DataProvide.
Mais si tu dois te servir d'autres éléments du namespace, autant utiliser le using.
/*
coq
MVP Visual C#
*/
Vous n’avez pas trouvé la réponse que vous recherchez ?
aquibad
Messages postés33Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention15 mai 2008 1 déc. 2005 à 17:33
Désole,
j'avais déjà essayé de mettre using mais que je le mette tout à fait en haut (avant premier namespace) ou dans deuxieme namespace , il ne veut rien savoir.
Je tourne en rond, il y a surement quelques chose à faire en plus.
Je vous mets un résumé du code pour mieux visualiser.
Cordialement.
using ... ;
...;
...;
...;
using Multi_Base
;
namespace Multi_Base
{...
public
class Form1 : System.Windows.Forms.Form
{...
Public
interface IDataProvider{...}
Public
abstract
class DataProvider : IDataProvider{...}
...
}
...}
namespace toto
{...
public
abstract
class DataProviderSqlClient : DataProvider{...}
aquibad
Messages postés33Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention15 mai 2008 1 déc. 2005 à 18:35
Effectivement en sortant les classes public du form, elles sont desormais accessibles en utilisant le using.
Pour ce qui est du fichier, je n'ai pas encore assez de connaissance pour m'y attaque maintenant. et puis je ne sais même pas comment on fais; d'ou mes interrogation du premier message.