bool IDictionary <TKey, IFrameAssignableCellView> .TryGetValue(TKey key, out IFrameAssignableCellView value) { bool Result = TryGetValue(key, out IFocusAssignableCellView Value); value = Value; return(Result); }
/// <summary> /// Assign the cell view corresponding to an inner. /// </summary> /// <param name="propertyName">The property name of the inner.</param> /// <param name="cellView">The assigned cell view.</param> public virtual void AssignCellViewTable(string propertyName, IFrameAssignableCellView cellView) { Debug.Assert(_CellViewTable.ContainsKey(propertyName)); Debug.Assert(_CellViewTable[propertyName] == null); Debug.Assert(cellView != null); _CellViewTable[propertyName] = cellView; }
/// <summary> /// Assign the cell view corresponding to an inner. /// </summary> /// <param name="propertyName">The property name of the inner.</param> /// <param name="cellView">The assigned cell view.</param> public virtual void AssignCellViewTable(string propertyName, IFrameAssignableCellView cellView) { Contract.RequireNotNull(propertyName, out string PropertyName); Contract.RequireNotNull(cellView, out IFrameAssignableCellView CellView); Debug.Assert(_CellViewTable.ContainsKey(PropertyName)); Debug.Assert(_CellViewTable[PropertyName] == null); _CellViewTable[PropertyName] = CellView; }
/// <summary> /// Compares two <see cref="IFrameAssignableCellViewReadOnlyDictionary{TKey}"/> objects. /// </summary> /// <param name="comparer">The comparison support object.</param> /// <param name="other">The other object.</param> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Debug.Assert(other != null); if (!comparer.IsSameType(other, out FrameAssignableCellViewReadOnlyDictionary <TKey> AsAssignableCellViewReadOnlyDictionary)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsAssignableCellViewReadOnlyDictionary.Count)) { return(comparer.Failed()); } foreach (KeyValuePair <TKey, IFrameAssignableCellView> Entry in this) { Debug.Assert(Entry.Key != null); if (!comparer.IsTrue(AsAssignableCellViewReadOnlyDictionary.ContainsKey(Entry.Key))) { return(comparer.Failed()); } IFrameAssignableCellView OtherValue = AsAssignableCellViewReadOnlyDictionary[Entry.Key] as IFrameAssignableCellView; if (!comparer.IsTrue((Entry.Value != null && OtherValue != null) || (Entry.Value == null && OtherValue == null))) { return(comparer.Failed()); } if (Entry.Value != null) { if (!comparer.VerifyEqual(Entry.Value, OtherValue)) { return(comparer.Failed()); } } } return(true); }
/// <inheritdoc/> public virtual bool IsEqual(CompareEqual comparer, IEqualComparable other) { Contract.RequireNotNull(other, out IEqualComparable Other); if (!comparer.IsSameType(Other, out FrameAssignableCellViewReadOnlyDictionary <TKey> AsOtherReadOnlyDictionary)) { return(comparer.Failed()); } if (!comparer.IsSameCount(Count, AsOtherReadOnlyDictionary.Count)) { return(comparer.Failed()); } foreach (KeyValuePair <TKey, IFrameAssignableCellView> Entry in this) { if (!comparer.IsTrue(AsOtherReadOnlyDictionary.ContainsKey(Entry.Key))) { return(comparer.Failed()); } IFrameAssignableCellView ThisValue = Entry.Value; IFrameAssignableCellView OtherValue = AsOtherReadOnlyDictionary[Entry.Key]; if (!comparer.IsTrue((ThisValue is null && OtherValue is null) || (ThisValue is not null && OtherValue is not null))) { return(comparer.Failed()); } if (ThisValue is not null) { if (!comparer.VerifyEqual(Entry.Value, AsOtherReadOnlyDictionary[Entry.Key])) { return(comparer.Failed()); } } } return(true); }
private protected virtual void AssignEmbeddingCellView(IFrameNodeStateView stateView, IFrameAssignableCellView embeddingCellView) { embeddingCellView.AssignToCellViewTable(); ((IFrameReplaceableStateView)stateView).AssignCellViewTable(PropertyName, embeddingCellView); }
void IDictionary <TKey, IFrameAssignableCellView> .Add(TKey key, IFrameAssignableCellView value) { Add(key, (IFocusAssignableCellView)value); }