public static IEnumerable <TreeNode> LazyGetMembersOfObject(TreeNode parent, Expression expression, MemberInfo[] members) { List <TreeNode> nodes = new List <TreeNode>(); foreach (MemberInfo memberInfo in members) { string imageName; var image = ExpressionNode.GetImageForMember((IDebugMemberInfo)memberInfo, out imageName); var exp = new ExpressionNode(parent, image, memberInfo.Name, expression.AppendMemberReference((IDebugMemberInfo)memberInfo)); exp.ImageName = imageName; nodes.Add(exp); } nodes.Sort(); return(nodes); }