KlassenArray

der jonas

Erfahrenes Mitglied
Hallo,

Ich bin gerade dabei mich in C# ein bisschen fit zu machen und hab eine Aufgabe bei der ich irgendwie nicht weiter weiß.

Es gibt eine Klasse von der zur Laufzeit n Instanzen generiert werden sollen, also als Beispiel eine kleine Benutzerverwaltung:

Code:
class Benutzer 
{
  public string Name; 
  private string PW;
  public bool checkPW(string Passwort)
  {
    ...
  }
}

Das Programm wird ausgefüht und es können eine belibige Anzahl an neuen Benutzern registrieren (neue Instanzen anlegen). Und der Zugriff auf die Instanzen der Klasse soll auch möglich sein z.B. auflisten Aller Benutzernamen, überprüfen ob vom Benutzer "Jonas" das PW = "ichmagapfelkuchen" ist etc.

Ich weiß nicht wirklich wie ich das mit einer Klasse lößen kann. Ich habe schon über ein Klassenarray oder sowas nachgedacht aber irgendwie is das noch alles so neu für mich.
Für einen kleinen Denkanstoß in die richtige Richtung wär ich sehr Dankbar.

Gruß

Jonas
 
Brauchst du eine Einfache Liste aller Instanzierten Objekte?

Mach doch ne BindingSource. Setze deine Klasse als Projekt-Datenquelle und binde deine BindingSource daran. Im Code kannst du dann mit add(Objekt deiner Klasse) oder addNew() einfach neue Instanzen hinzufügen (per Schleife oder was weiß ich)

Oder machs mit ner Hashtable...
 
Vielen Dank,

zu BindingSource hab ich nichts gefunden und hab es dann mit der Hashtable probiert.

Das Problem bei der Hashtable ist allerdings, dass das was zurückgeliefert wird immer ein einfaches Objekt ist. Ich bin dann auf die Dictionary gestoßen kann man genauso wie eine Hashtable ansprechen mit dem Unterschied, dass ich die Typen von Key und Value selbst bestimmen kann.

mfg

Jonas
 
Die BindingSource kannste dir ganz einfach über den Designer ins Form ziehen.

Aber was du da mit der Hashtable meinst versteh ich net - hatte sowas ähnliches gemacht und es hat ohne Probs funktioniert. Aber wenns mit der Dictionary klappt isset ja jut ;)
 
Er meint wohl das eine Hashtable als Rückgabewert object hat.

Das ganze kannst du natürlich einfach wieder zu deinem Typen casten.

Eine Alternative zur Verwendung einer vordefinierten Collection wäre auch, die Klasse zB mit Iteratoren, Indexern etc. so zu erweitern, dass sie bereits alles nativ kann (wobei du dabei natürlich intern Collections verwenden kannst). Das ist aber wohl 1. eine Sache des Geschmacks und 2. hängt die Sinnhaftigkeit davon mit dem zusammen, was du mit dem Objekt machen willst.

mfg
 

Neue Beiträge

Zurück