public static T SearchTree <T>(Tree <T> tree, Func <T, bool> searchFunction) { CancellationTokenSource tokenSource = new CancellationTokenSource(); TWrapper <T> result = performSearch(tree, searchFunction, tokenSource); return(result == null ? default(T) : result.Value); }
/// <summary> /// Get wrapper all wrappers of type from collection /// </summary> /// <typeparam name="TWrapper">Wrapper type</typeparam> /// <returns></returns> public List <TWrapper> GetWrappersOfType <TWrapper>() where TWrapper : Wrapper { List <TWrapper> result = new List <TWrapper>(); foreach (Wrapper wrapper in _wrappers.Values) { TWrapper item = wrapper as TWrapper; if (item != null) { result.Add(item); } } return(result); }