项目中见过最好的创建树的过程
public static TreeNode GetNode(this TClass sourceBindObj) whrer TClass:ITreeNode<TClass>
{
TreeNode node = new TreeNode(){
Text = TClass.Text,
Value = TClass.Value
};
foreach(souceBindObj child in node.Children.orderby(item => item.Order))
{
node.Children.add(GetNode(child));
}
retrun node;
}
// 为了演示清楚创建的泛型接口,程序项目中不是这样的。
interface ITreeNode<T>
{
IEnumrable<T> Children{get;set;}
T Parent{get;set;}
string value{get;} // 提供Value
string Text{get;} // 提供Text
int Order{get;}
}