/// <summary> /// Checks whether a node is member of a supported cycle. /// </summary> /// <param name="state">State corresponding to the node to check.</param> /// <param name="cycleManager">The cycle manager for this node type upon return. Null if none.</param> /// <returns>True if a cycle manager exists for the node.</returns> public virtual bool IsMemberOfCycle(IFocusNodeState state, out IFocusCycleManager cycleManager) { cycleManager = null; List <Type> Interfaces = new List <Type>(state.Node.GetType().GetInterfaces()); foreach (IFocusCycleManager Item in CycleManagerList) { if (Interfaces.Contains(Item.InterfaceType)) { cycleManager = Item; } } return(cycleManager != null); }
/// <summary> /// Checks whether a node is member of a supported cycle. /// </summary> /// <param name="state">State corresponding to the node to check.</param> /// <param name="cycleManager">The cycle manager for this node type upon return. Null if none.</param> /// <returns>True if a cycle manager exists for the node.</returns> public virtual bool IsMemberOfCycle(IFocusNodeState state, out IFocusCycleManager cycleManager) { cycleManager = null; /* * List<Type> Interfaces = new List<Type>(state.Node.GetType().GetInterfaces()); * * foreach (FocusCycleManager Item in CycleManagerList) * if (Interfaces.Contains(Item.InterfaceType)) * cycleManager = Item; */ Type NodeType = Type.FromGetType(state.Node); foreach (IFocusCycleManager Item in CycleManagerList) { if (Item.InterfaceType.IsAssignableFrom(NodeType)) { cycleManager = Item; } } return(cycleManager != null); }
bool ICollection <IFocusCycleManager> .Remove(IFocusCycleManager item) { return(Remove((ILayoutCycleManager)item)); }
bool ICollection <IFocusCycleManager> .Contains(IFocusCycleManager value) { return(Contains((ILayoutCycleManager)value)); }
void ICollection <IFocusCycleManager> .Add(IFocusCycleManager item) { Add((ILayoutCycleManager)item); }
void IList <IFocusCycleManager> .Insert(int index, IFocusCycleManager item) { Insert(index, (ILayoutCycleManager)item); }
int IList <IFocusCycleManager> .IndexOf(IFocusCycleManager value) { return(IndexOf((ILayoutCycleManager)value)); }