public void Add(params object[] propertys) { if (propertys == null) { return; } foreach (object obj in propertys) { if (obj == null) { continue; } if (obj is string) { Add(new OutputExpression(obj as string)); } else if (obj is IPropertyExpression) { IPropertyExpression propertyExpression = (IPropertyExpression)obj; Add(new OutputExpression(propertyExpression.PropertyName, propertyExpression.GroupFunction)); } else if (obj is IOutputExpression) { IOutputExpression outputExpression = (IOutputExpression)obj; Add(outputExpression); } else if (obj is IEnumerable <string> ) { foreach (string s in obj as IEnumerable <string> ) { Add(new OutputExpression(s)); } } else if (obj is IEnumerable <IOutputExpression> ) { foreach (IOutputExpression s in obj as IEnumerable <IOutputExpression> ) { Add(s); } } else if (obj is IEnumerable <IPropertyExpression> ) { foreach (IPropertyExpression s in obj as IEnumerable <IPropertyExpression> ) { Add(new OutputExpression(s.PropertyName, s.GroupFunction)); } } else { throw new Exception("不支持的类型"); } } }
public void Insert(int index, IOutputExpression item) { Items.Insert(index, item); }
public int IndexOf(IOutputExpression item) { return(Items.IndexOf(item)); }
public void Add(IOutputExpression item) { Items.Add(item); }
public bool Remove(IOutputExpression item) { return(Items.Remove(item)); }
public bool Contains(IOutputExpression item) { return(Items.Contains(item)); }