Débutant : interface toujours et encore

Le
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax
J'ai constaté que je ne pouvais pas stocker d'info dans une classe static
(élémentaire, mais j'avais oublié). Du coup je repasse ma Fabrique dans une
classe "normale", et je veux faire une interface. Et là j'ai une erreur :

la fabrique (la classe qui redevient "normale" :

namespace Xtrem7Engine
{
class X7 : IX7
{
string _seconds;
public string seconds
{
get { return _seconds; }
set { _seconds = value; }
}

public Ilogin GetNewlogin()
{
return new login();
}
public Itruc GetNewTruc()
{
return new truc();
}
}
}

son interface :

namespace Xtrem7Engine
{
public interface IX7
{
string seconds {get; set;}
Ilogin GetNewlogin();
Itruc GetNewTruc();
}
}

Tout ceci se compile bien dans la dll.

L'appel qui ne se compile pas (depuis l'appli qui utilise la dll) :
IX7 myX7 = new X7();

Error 1 The type 'Xtrem7Engine.X7' has no constructors defined

J'ai regardé sur le web mais je n'ai rien trouvé. J'ai tenté de mettre des
constructeurs, mais rien n'y fait. De plus je ne comprends pas où est
l'erreur.

Une idée ?

Excellente continuation

Christian Hubert-Hugoud
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #21080291
Bonjour Christian,

Peut tu en dire un peu plus sur la classe qui est à l'origine de ton
appel? IX7 myX7 = new X7();

Autre question au sujet de ta notion de stockage dans ta fabrique,
quel est ton objectif?

---
Jérémy Jeanson
MCP
http://www.jjeanson.fr
Christian Hubert-Hugoud / weabow - Xtrem7 - Groobax
Le #21081591
Merci de ta réponse.

Pour le stockage, j'ai trouvé : des propriétés feront l'affaire (j'ai pas
mal ramé, curieusement).

Pour l'instanciation, voici le code (bien que j'ai aussi la solution de
passer par une class static, qui fonctionne très bien) :

L'appel qui génère l'erreur :
IX7 X7 = new X7();

Error 1 The type 'Xtrem7Engine.X7' has no constructors defined
Error 2 'Xtrem7Engine.X7' is inaccessible due to its protection level
Error 3 'Xtrem7Engine.X7.X7()' is inaccessible due to its protection level

namespace Xtrem7Engine
{
public interface IX7
{
IcProfile ProfileGetNew();
}
}

namespace Xtrem7Engine
{
class X7 : IX7
{
string _seconds;
public string seconds
{
get { return _seconds; }
set { _seconds = value; }
}

public IcProfile ProfileGetNew()
{
return new cProfile();
}
}
}

namespace Xtrem7Engine
{
public interface IcProfile
{
string Test();
}

class cProfile : IcProfile
{
//string _Datas;
public string Test()
{
return "Coucou le test";
}
}
}


"Jérémy Jeanson" news:
Bonjour Christian,

Peut tu en dire un peu plus sur la classe qui est à l'origine de ton
appel? IX7 myX7 = new X7();

Autre question au sujet de ta notion de stockage dans ta fabrique,
quel est ton objectif?

---
Jérémy Jeanson
MCP
http://www.jjeanson.fr
Publicité
Poster une réponse
Anonyme