Ich modelliere eine API für eine Client-Anwendung. Als Teil davon versuche ich einen Cache zu erstellen, der die Struktur/Karte der API beim Crawlen verwaltet (ich muss diese API crawlen, und zwar genau so :()Expose Unterobjekte durch eine Eigenschaft
Also was ich machen möchte ist ein Modellobjekt wie folgt aufbauen: ich kann eine sich wiederholende Reihe von Klassen haben
page1
|
|__page2
|
|_page3
Also, wenn jede Seite ist ein Objekt und jedes Objekt eine Eigenschaft für ein Kind enthält dann die alle wie folgt aussehen:
public class Page
{
public Page Child { get; set; }
}
Also page1.Child
= page2
, page2.Child
= page3
Auf meiner Klasse, wo ich die Cache-Konstrukt i die aktuelle Seite wie möchten aussetzen:
public class Cache
{
public Page CurrentPage { get; set; }
public Cache(){
//logic to construct cache
}
// add, delete Page logic
}
Also, wenn ich wie meine Current Variable laden: cache.CurrentPage = page1.Child.Child
Ich werde Holen Sie eine Werttypkopie des Kindes. Wie stelle ich stattdessen das Element frei, damit ich stattdessen mit dem ursprünglichen Objekt arbeiten kann? Die Idee hier ist, dass ich auf der aktuellen Seite des Caches arbeiten kann, ohne wirklich wissen zu müssen, wo ich im Cache bin.
Warum denken Sie, dass 'Page' ein Werttyp ist? – Servy
Sie scheinen hier einige inkonsistente Seiten-/Seitenprobleme zu haben. – crashmstr
@crashmstr guter Fang - behoben –