Ich versuche, eine Singleton-Klasse wie unten zu erstellen, wo MyRepository
in separaten DAL-Projekt liegt. Es verursacht mir ein zirkuläres Referenzproblem, weil die GetMySingleTon()
Methode MySingleTon
Klasse zurückgibt und ihren Zugriff benötigt. Genau wie ich brauche MyRepository
Zugriff im Konstruktor der MySingleTon
Klasse.Circular Referenz Problem Singleton
public class MySingleTon
{
static MySingleTon()
{
if (Instance == null)
{
MyRepository rep = new MyRepository();
Instance = rep.GetMySingleTon();
}
}
public static MySingleTon Instance { get; private set; }
public string prop1 { get; set; }
public string prop2 { get; set; }
}
UPDATE: ich es sehr zu Unrecht tat. Ich denke, brauchte kein Singleton. Jetzt habe ich eine Klasse mit statischen Eigenschaften in einem dritten Projekt erstellt und ich setze es einmal und überall darauf zugreifen. Und es hat mein Problem für jetzt gelöst.
Vielen Dank für Ihre Antworten.
Was genau macht MyRepository? Es klingt, als wäre es verantwortlich für die Rückgabe der MySingleton-Instanz. Wenn ja, können Sie den Initialisierer nicht durch einen Konstruktor oder eine statische Methode ersetzen und "this" übergeben, anstatt ein neues Repository in MySingleton zu erstellen? –
Warum machst du es so? – jason