Exemple #1
0
        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("不支持的类型");
                }
            }
        }
Exemple #2
0
 public void Insert(int index, IOutputExpression item)
 {
     Items.Insert(index, item);
 }
Exemple #3
0
 public int IndexOf(IOutputExpression item)
 {
     return(Items.IndexOf(item));
 }
Exemple #4
0
 public void Add(IOutputExpression item)
 {
     Items.Add(item);
 }
Exemple #5
0
 public bool Remove(IOutputExpression item)
 {
     return(Items.Remove(item));
 }
Exemple #6
0
 public bool Contains(IOutputExpression item)
 {
     return(Items.Contains(item));
 }