0
我有一些代碼提供了一個提供的路徑並收集文件信息。爲了使系統繼續能夠進一步隧道到文件樹中,我添加了一個DirectoryInfo字段,然後添加了一個BranchLevel計數器,以防止該事物在網絡文件系統上遺漏。將類擴展與遞歸相結合
所以,這一切工作正常。我收集數據,然後嘗試將其序列化爲JSON。不幸的是,目前我不再需要的DirectoryInfo對象的序列化會導致問題。我想過創建基類,然後用DirectoryInfo和BranchLevel字段擴展類,然後在序列化之前轉換爲基類。這似乎是合情合理的,直到我嘗試它,感到困惑,然後來到這裏尋求幫助。
這裏的類定義:
public class TreeInfo {
public TreeInfo(int CurrentLevel) {
BranchLevel = CurrentLevel;
Children = new List<TreeInfo>();
Fileset = new List<FileInfo>();
}
public System.IO.DirectoryInfo DirInfo { get; set; } // <-- Don't want to serialize
public int BranchLevel; // <-- Don't need to serialize, but it's not the end of the world
public string Name { get; set; }
public List<TreeInfo> Children { get; set; }
public List<FileInfo> Fileset { get; set; }
}
我認爲建立一個沒有確定的兩個成員的類,然後擴展它來添加的成員。但是由於基類有一個子類型的列表,它可以被擴展成甚至可能嗎?
很明顯是的,那就是訣竅。非常感謝你。 – 2014-09-24 22:28:25
很高興幫助:)。您是否可以通過點擊帖子旁邊的複選標記來接受答案,謝謝。 – user1112560 2014-09-24 22:35:50
對不起。我之前試過,系統說我必須等一分鐘才能接受。我試圖等待,但是......松鼠! – 2014-09-24 23:35:21