2013-04-03 1 views
-2

Donc, j'essaye d'implémenter une liste pour la première fois. Je vais éventuellement utiliser ceci dans un design à trois niveaux dans lequel la liste contient tous les résultats d'une requête de base de données. Je n'arrive pas à faire fonctionner le petit projet.Difficulté à implémenter la collection List en C#

namespace listTest 

class Account 
{ 
    public string fName {get; set;} 
    public string lName {get; set;} 

    public Account() 
    { 
    } 

    public Account(string last, string first) 
    { 
     this.fName = first; 
     this.lName = last; 
    } 

    public void LoadAccounts() 
    { 
     List<Account> Accounts = new List<Account>(); 
     Accounts.Add(new Account("firstName", "lastName")); 
    } 
} 

Donc, ceci est ma classe de compte. Je dois commencer par dire que je ne sais pas si je l'applique correctement.

private void getListBtn_Click(object sender, EventArgs e) 
{ 
    Account newAccount = new Account(); 
    List<Account> Accounts = new List<Account>(); 
} 

C'est ici que j'appuie sur le bouton pour charger la liste. L'idée ici est d'accéder aux valeurs fName et lName et de changer deux étiquettes sur mon formulaire. La façon dont je l'ai maintenant tout compile, mais j'obtiens des valeurs nulles pour fName et lName sur ma couche de présentation. Est-ce que je fais tout faux? Je me sens comme la couche de domaine est le meilleur endroit pour la liste. Toute orientation est appréciée.

+2

Où est le code pour charger le les données de la base de données? Lorsque vous créez une nouvelle liste, celle-ci sera vide à moins que vous n'y ajoutiez des choses (ou que vous la copiiez à partir d'une liste existante). Tout le code que vous avez posté est en train de créer une nouvelle liste de type compte. – Tim

+0

Cela vient plus tard, maintenant j'essaie juste d'obtenir les chaînes "firstName" et "lastName" dans ma classe de formulaire. – user1729696

Répondre

2

Vous devez créer une méthode qui renvoie la List<Account> de votre base de données comme celui-ci

public List<Account> LoadAccounts() 
{ 
    List<Account> AccountsList = new List<Account>(); 

    // Get Accounts records from Database and add them into AccountsList as per your logic like this 

    AccountsList.Add(myaccount); 

    return AccountsList 
} 

alors vous pouvez l'utiliser sur votre couche de présentation comme celui-ci

private void getListBtn_Click(object sender, EventArgs e) 
{ 
    List<Account> Accounts = LoadAccounts(); 

    // now you can access first name and last name of each records like this 

    foreach(Account account in Accounts) 
    { 
    string firstName=account.fName ; 
    string lastName=account.lName ; 
    } 
} 
+0

Je ne peux pas utiliser la liste Accounts = LoadAccounts(); sans instancier un objet Account. J'ai joué un peu avec le code mais j'ai toujours des valeurs nulles. – user1729696

+0

Sans compte anAccount = new Account() Je ne peux pas voir les méthodes dans la classe de compte. Je pense que cela pourrait produire mes valeurs nulles. – user1729696

+0

pourquoi utilisez-vous 'anAccount.fName' dans la boucle foreach. il devrait simplement 'account.fName' comme je l'ai décrit dans mon exemple. compte est une variable que j'ai utilisé dans foreach boucle – Sachin

Questions connexes