J'essaie d'avoir une structure de données d'une classe abstraite afin que je puisse accéder à une méthode d'objets différents implémentant cette classe abstraite. Ceci est mon code:Accéder à une méthode commune d'objets de type générique dans une structure de données dans C#
using Subsync.App;
List<App> installed_apps = new List<object>();
public Views (string[] args)
{
//INSTALL APPS HERE.
installed_apps.Add (new HelloWorld.HelloWorld());
//INSTALL END
foreach (App app in installed_apps) {
foreach (KeyValuePair<string, List<object>> match in app.getTokens()) {
tokens.Add (match.Key, match.Value);
}
}
//begin dispatch
Dictionary<string,List<object>> tokenized = Tokenize(args);
Dispatch(tokenized);
}
Dans l'espace de noms SubSync:
public abstract class App
{
public abstract Dictionary<string, List<object>> getTokens();
}
Dans l'espace de noms HelloWorld:
public class HelloWorld : App
{
public HelloWorld()
{
}
public override Dictionary<string, List<object>> getTokens()
{
Dictionary<string, List<object>> ret = new Dictionary<string, List<object>>();
ret.Add("helloworld",new List<object>() {"0","-hw","-helloworld"});
return ret;
}
}
Compiling me donne l'erreur
Erreur CS0246: Le type ou espace de noms nom `App 'ne pouvait pas b e trouvé. Êtes-vous manquant une directive using ou une référence d'assembly ? (CS0246) (App)
Tous les fichiers de code se trouvent dans le même dossier de projet. Qu'est-ce que je fais mal? Merci!
Ça ne vaut pas le coup? :-) – joejoeson
+1 puisque vous avez demandé :-P –
Hé ... nous avons besoin de nos cookies par ici sur la pile: -D – joejoeson