我正在尝试将 System.Web.SiteMapNode 转换为我自己的 SiteMapNode 类(见下文):
public class SiteMapNode {
public virtual SiteMapNode Parent { get; set; }
public virtual string Title { get; set; }
public virtual IList<SiteMapNode> Children { get; set; }
public SiteMapNode(System.Web.SiteMapNode node) {
Parent = node.ParentNode != null ? new SiteMapNode(node.ParentNode) : null;
Title = node.Title;
Children = node.ChildNodes.Cast<System.Web.SiteMapNode>().Select(n => new SiteMapNode(n)).ToList();
}
}
现在我希望我能说:
var node = new MyApp.SiteMapNode(System.Web.CurrentNode);
但现在的问题是构造函数设置了 Children,然后为每个孩子创建了我的 SiteMapNode 类的实例。现在这将设置设置子级的父级...您现在可能会看到问题,这会导致无限循环。
我不太明白如何解决这个问题。我会很感激任何建议。谢谢