コード例 #1
0
        public static IEnumerable Select(IEnumerable items, IQueryParameter param, IListIndexes indexes = null)
        {
            IListIndex index = indexes?.GetIndex(param.Name);

            if (index == null)
            {
                return(index.Scan(param));
            }
            else
            {
                return(Search(items, param));
            }
        }
コード例 #2
0
ファイル: ListHelper.cs プロジェクト: alexandrvslv/datawf
        public static IEnumerable Select(IEnumerable items, IQueryParameter param, IListIndexes indexes = null)
        {
            if (param.AlwaysTrue)
            {
                return(items);
            }

            if (param.Comparer.Type == CompareTypes.Distinct)
            {
                return(Distinct(items, param.Invoker));
            }

            IListIndex index = indexes?.GetIndex(param.Name);

            if (index == null)
            {
                return(index.Scan(param));
            }
            else
            {
                return(Search(items, param));
            }
        }
コード例 #3
0
 static NetStat()
 {
     nameIndex = (IListIndex <NetStatEntry, string>)items.Indexes.Add(NetStatEntry.NameInvoker.Instance);
 }
コード例 #4
0
ファイル: ListIndexes.cs プロジェクト: alexandrvslv/datawf
 public void Add(string name, IListIndex <T> index)
 {
     indexes[name] = index;
 }