Example #1
0
        /// <summary>
        /// Returns the Parent of the item if it implements T. If it does implement T the method returns null.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="ancestors"></param>
        /// <returns></returns>
        public virtual T Parent <T>(bool ancestors = true) where T : IItemWrapper
        {
            if (ancestors)
            {
                return(Ancestor <T>(Item.Parent));
            }
            var wrapper = _spawnProvider.FromItem <T>(Item.Parent);

            if (wrapper is T)
            {
                return((T)wrapper);
            }
            return((T)((wrapper is T) ? wrapper : null));
        }
Example #2
0
        protected virtual T SpawnFromItem <T>(Item item) where T : IItemWrapper
        {
            object wrapper = null;

            try
            {
                wrapper = SpawnProvider.FromItem <T>(item);
            }
            catch { }
            return((T)((wrapper is T) ? wrapper : null));
        }
Example #3
0
        protected virtual T SpawnFromItem <T>(Item item) where T : IItemWrapper
        {
            object wrapper = null;

            try
            {
                wrapper = SpawnProvider.FromItem <T>(item);
            }
            catch
            {
                // ignored - we should probably _not_ ignore this?
            }
            return((T)((wrapper is T) ? wrapper : null));
        }