// // // // // $Revision: $ // using System; using System.Collections.Generic; namespace ICSharpCode.SharpDevelop { /// /// Generic TreeNode with content and children. /// public interface ITreeNode { TContent Content { get; } IEnumerable> Children { get; } } public class TreeNode : ITreeNode { public TreeNode(TContent content) { if (content == null) throw new ArgumentNullException("content"); this.Content = content; } public TContent Content { get; private set; } public IEnumerable> Children { get; set; } public override string ToString() { return string.Format("[TreeNode {0}]", this.Content.ToString()); } } }