public static QNode Q(this IQNodeBuilder q, object value, params object[] content) { if (value == null) { return(null); } var childs = new List <QNode>(); foreach (var item in content) { if (item == null) { continue; } var q_item = item as QNode; if (q_item != null) { childs.Add(q_item); continue; } var qs_item = item as IEnumerable <QNode>; if (qs_item != null) { childs.AddRange(qs_item); continue; } childs.Add(new QNode(item)); } return(new QNode(value, childs.ToArray())); }
public static QNode[] Qs(this IQNodeBuilder q, object value, params object[] content) { var node = Q(q, value, content); if (node == null) { return(null); } return(new[] { node }); }