我需要在內存中建立一個集合web文件,但它們之間的關係。那就是文件A(例如html)可能具有到文件B(例如css)和文件C(例如,javascript)的鏈接。同樣,文件D也可能需要文件B.如果我想刪除文件A,我需要確保它使用的任何文件(例如文件B)不被其他文件(例如文件D)使用。也許是這樣的:我可以使用C#集合來保存具有自引用關係的類實例嗎?
List<WebFile> list_of_webfiles
public class WebFile
- string url
- bool parentFile
public class FileRelationship
- private WebFile parentWebFile;
- private WebFile childWebFile;
的問題 - 什麼是用C#來模擬這一目標的最佳方式是什麼?(例如其集合類型&如何建模)
注意 - 它在內存(無數據庫)進行建模,我需要能夠序列化到XML太節省。我的意思是什麼,看上去像這樣的例子...
XmlSerializer serializer = new XmlSerializer(typeof(List<WebFile>));
TextWriter textWriter = new StreamWriter(CONFIG_FILE_PATH);
serializer.Serialize(textWriter, list_of_webfiles);
textWriter.Close();
感謝
我想我需要兩個。第一個選項看起來不錯,但是它更像是一張Hierachy地圖而不是Web地圖?例如,從我原來的單詞和例子中,文件B有兩個(2)實例?或者換句話說,我試圖瞭解「Children:WebFile []」數組是否包含WebFile的單獨實例,或者它是否僅僅引用了已經在列表中的現有WebFile對象? – Greg 2009-10-06 06:30:23
它只是一個引用,就像一個指針,所以你可以添加一個現有的web文件到'children'列表中而不需要複製它 – TJB 2009-10-06 07:12:52
另外,你可以省略父列表或者把它設置爲一個數組,這取決於你需要什麼。編寫一些你想要實現的僞代碼可能是有用的,然後相應地形成數據結構。 – TJB 2009-10-06 07:16:31