Ne pas Comprendre l'Instanciation d'Objets en C#

Ce post va à une lacune dans ma compréhension de classes C# et pourquoi ils sont préférables à des fonctions statiques.

Je suis en train d'essayer d'obtenir une Liste d'objets. Chaque objet de la liste représente un enregistrement dans une table. Ce serait facile de le faire dans une fonction statique.

À l'aide d'une classe, j'ai été capable de le faire comme suit:

Appel de la routine:

ListOfBusinesses l = new ListOfBusinesses ();
List<Business> b = l.listBusinesses();

Les classes:

 public class Business
 {
    public string Bupk { get; set; }
    public string Bu_name { get; set; }

 }  

 public class ListOfBusinesses
 {
    public List<Business> listBusinesses()
    {

      List<Business> businesses = new List<Business>();
      businesses.Add(new Business("1", "Business Name 1"));
      businesses.Add(new Business("2", "Business Name 2"));

      return businesses;
    }
 }

Pourrais-je ne pas réécrire la classe de sorte que ce qui peut être fait avec une seule ligne:

ListOfBusinesses l = new ListOfBusinesses();

Il me semble que la ListofBusinesses classe ci-dessus n'est rien mais une fonction statique enroulé dans une classe qui n'a pas de propriétés et n'est là que pour le plaisir d'avoir une classe.

J'ai essayé:

public class ListOfBusinesses
{
    List<Business> businesses;

    public List<Business> ListOfBusinesses()
    {

      List<Business> businesses = new List<Business>();
      businesses.Add(new Business("1", "Business Name 1"));
      businesses.Add(new Business("2", "Business Name 2"));

      return businesses;
    }
}

Mais a reçu l'erreur de compilation "les noms des membres ne peut pas être le même qu'il y joignant type". Par exemple, j'ai essayé d'utiliser un constructeur, mais je suis en manque de quelque chose.

Toute aide serait de m'éclairer dans une zone que j'ai mal pendant un certain temps.

Mike Thomas

OriginalL'auteur |