public void EqualsTest() { BindingMemberInfo a = new BindingMemberInfo("A.B.C"); BindingMemberInfo b = new BindingMemberInfo("A.B.C"); Assert.AreEqual(a, b, "EQUALS1"); b = new BindingMemberInfo("A.B"); Assert.IsFalse(a.Equals(b), "EQUALS2"); }
public void Equals_Invoke_ReturnsExpected(BindingMemberInfo info, object other, bool expected) { if (other is BindingMemberInfo otherInfo) { Assert.Equal(expected, info == otherInfo); Assert.Equal(!expected, info != otherInfo); } Assert.Equal(expected, info.Equals(other)); }
private void SetDataConnection( object newDataSource , BindingMemberInfo newDisplayMember , bool force ) { bool flag = _dataSource != newDataSource; bool flag2 = !_displayMember.Equals(newDisplayMember); if (!_inSetDataConnection) { try { if ((force || flag) || flag2) { _inSetDataConnection = true; IList list = (_dataManager != null) ? _dataManager.List : null; bool flag3 = _dataManager == null; this.UnwireDataSource(); _dataSource = newDataSource; _displayMember = newDisplayMember; this.WireDataSource(); if (_isDataSourceInitialized) { CurrencyManager manager = null; if (((newDataSource != null) && (this.BindingContext != null)) && (newDataSource != Convert.DBNull)) { manager = (CurrencyManager)this.BindingContext[newDataSource, newDisplayMember.BindingPath]; } if (_dataManager != manager) { if (_dataManager != null) { _dataManager.ItemChanged -= new ItemChangedEventHandler(this.DataManager_ItemChanged); _dataManager.PositionChanged -= new EventHandler(this.DataManager_PositionChanged); } _dataManager = manager; if (_dataManager != null) { _dataManager.ItemChanged += new ItemChangedEventHandler(this.DataManager_ItemChanged); _dataManager.PositionChanged += new EventHandler(this.DataManager_PositionChanged); } } if (((_dataManager != null) && (flag2 || flag)) && (((_displayMember.BindingMember != null) && (_displayMember.BindingMember.Length != 0)) && !this.BindingMemberInfoInDataManager(_displayMember))) { throw new ArgumentException(res.Argument_WrongDisplayMember, "newDisplayMember"); } if (((_dataManager != null) && ((flag || flag2) || force)) && (flag2 || (force && ((list != _dataManager.List) || flag3)))) { ConstructorInfo ci = typeof(ItemChangedEventArgs).GetConstructor( BindingFlags.CreateInstance | BindingFlags.NonPublic | BindingFlags.Instance , null , new Type[] { typeof(int) } , null ); Debug.Assert(ci != null, "ci != null"); this.DataManager_ItemChanged( _dataManager , (ItemChangedEventArgs)ci.Invoke(new object[] { -1 }) ); } } } if (flag) { this.OnDataSourceChanged(EventArgs.Empty); } if (flag2) { this.OnDisplayMemberChanged(EventArgs.Empty); } } finally { _inSetDataConnection = false; } } }