项目中见过最好的创建树的过程

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;} 

原文地址:https://www.cnblogs.com/A_ming/p/2600473.html