Question sur Ninject (IOC)
Salut ,
voici mon probléme , j'ai une classes qui gére l'accés a la base de donnés (Databases qui a une fonction pour ouvrire la connexion) , son interface(IDatabases qui implantes la function ) et 2 autres classes (Accounts , personnages )
ce que je veux c'est de pouvoir appeler la function pour appeler la connexion (sur les 2 classes) facilement et dynamiquement
(je veux pas passer par ça c'est pas flexible )
Code:
1 2 3
|
Ninject.IKernel kernel = new StandardKernel(new ModulesConfig());
new Accounts(kernel.Get<IDatabases>()).LoadAccounts(); |
et ma classe qui ModulesConfig
Code:
1 2 3 4 5 6 7 8 9 10
|
public class ModulesConfig : NinjectModule
{
public override void Load()
{
this.Bind<IDatabases>().To<Databases>();
}
} |
(account)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class Accounts
{
public static List<Account> accounts = new List<Account>();
IDatabases _db;
public Accounts(IDatabases db)
{
this._db = db;
}
public void LoadAccounts()
{
using (IDbConnection connection = _db.GetConnection())
{
var account = connection.Query<Account>("SELECT * FROM accounts");
accounts.AddRange(account);
}
Info.Write("database", string.Format("{0} Comptes chargés", accounts.Count()), ConsoleColor.Green);
}
} |
en gros je veux associer IDatabases avec les autres classes pour pouvoir appeler la function openConnexion
et merci pour votre aide