Wie Sie die Objekte einer Klasse in einer statischen Liste Eigenschaft der gleichen Klasse?
Ich habe eine Klasse A und Sie hat 2 normale Eigenschaften (string properties) und 1 statische Eigenschaft (Liste der Art). Beim erstellen einer neuen Instanz der Klasse A im Konstruktor, möchte ich hinzufügen, dass die Instanz in die statische list-Eigenschaft. Ich habe zwei Fragen.
1 - Ist es möglich?
2 - Wenn möglich dann, wie kann ich die implementieren.
Ich bin mit dem folgenden code :
public class A {
private string _property1;
private string _property2;
private static List<A> _AList;
public string Property1 {
get { return _property1; }
set { _property1 = value; }
}
public string Property2 {
get { return _property2; }
set { _property2 = value; }
}
public static List<A> AList {
get { return _AList; }
set { _AList = value; }
}
public A( ) {
}
}
- Gut, was passiert, wenn Sie Debuggen Sie den code, und führen Sie es tun.. Sie bekommen das erwartete Ergebnis, die Sie suchen..? wenn nicht, dann berichten Sie zurück auf eine beliebige Fehler..!
- Können Sie bitte zeigen, was problem Sie haben, mit zu tun, "erstellen einer neuen Instanz der Klasse A im Konstruktor ... hinzufügen, dass die Instanz in der statischen Liste "Eigenschaft"? Es ist unklar, welche Art von Hilfe du suchst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja.
Initialisieren Sie die Liste in einem statischen Konstruktor
Fügen Sie die Instanz in der Instanz-Konstruktor
Erstellen Sie die Liste entweder bei der Deklaration oder in einem statischen Konstruktor.
oder
In der Instanz-Konstruktor können Sie fügen Sie dann das neue Element
Hinweis: Statische Konstruktoren nicht öffentlich sein, da Sie nicht explizit genannt werden. Sie werden automatisch aufgerufen, bevor die erste Instanz erstellt wird, oder beliebige statische Elemente referenziert werden.
Sehen Statische Konstruktoren (C# - Programmierhandbuch)
Ja, es ist möglich und können Sie implementieren es in
factoryMethod
innerhalb dieser Klasse, fügen Sie diese Methode zum erstellen einer neuen Instanz und fügen Sie Sie der Liste -legen Sie constractor privaten
und wenn Sie möchten, erstellen Sie eine Instanz von dieser Klasse überall:
Anderen Art Ausnahme-Liste funktionieren. Für die Liste müssen Sie Folgendes tun:
AList.Add(this);
im Konstruktor soll das Objekt hinzufügen Instanz errichtet, der zu der Liste.