protected virtual TItem GetItem(string name, Expression <Func <TItem, bool> > predicateExpression) { var predicate = predicateExpression.Compile(); ControlListScopeLocator scopeLocator = new ControlListScopeLocator(searchOptions => { return(GetItemElements(searchOptions). Where(element => predicate(CreateItem(new DefinedScopeLocator(element), name)))); }); return(CreateItem(scopeLocator, name)); }
protected virtual TItem GetItem(string name, Expression <Func <TItem, bool> > predicateExpression) { By itemBy = CreateItemBy(); var predicate = predicateExpression.Compile(); ControlListScopeLocator scopeLocator = new ControlListScopeLocator(options => { return(GetItemElements(itemBy.With(options).SafelyAtOnce()). Where(element => predicate(CreateItem(new DefinedScopeLocator(element), name)))); }); return(CreateItem(scopeLocator, name)); }