public override object Clone() { SQLiteExpression caseOperand = null; if (_caseOperand != null) { caseOperand = (SQLiteExpression)_caseOperand.Clone(); } List <SQLiteCaseItem> caseItems = null; if (_caseItems != null) { caseItems = new List <SQLiteCaseItem>(); foreach (SQLiteCaseItem ci in _caseItems) { caseItems.Add((SQLiteCaseItem)ci.Clone()); } } SQLiteExpression caseElse = null; if (_caseElse != null) { caseElse = (SQLiteExpression)_caseElse.Clone(); } SQLiteCaseExpression res = new SQLiteCaseExpression(); res._caseElse = caseElse; res._caseItems = caseItems; res._caseOperand = caseOperand; return(res); }
public override bool Equals(object obj) { if (obj == null) { return(false); } SQLiteCaseExpression dst = obj as SQLiteCaseExpression; if (dst == null) { return(false); } if (!RefCompare.CompareMany(_caseOperand, dst._caseOperand, _caseElse, dst._caseElse)) { return(false); } if (!RefCompare.CompareList <SQLiteCaseItem>(_caseItems, dst._caseItems)) { return(false); } return(base.Equals(obj)); }