public BitItem Clone(CPacketItem parentItem = null) { BitItem clone = new BitItem(parentItem == null? _parent :parentItem); clone.StartOffset = StartOffset; clone.BitSize = BitSize; clone.BitName = BitName; clone.condFunc = condFunc;//.PassCondition = PassCondition; clone.PassCondition = _passCondition; //clone.Visible = Visible; clone.ShowOnReport = ShowOnReport; return(clone); }
/// <summary> /// 같은 이름이 존재하는지 알아본다. 없으면 true를 리턴한다. /// item을 넣는 이유는 이 아이템을 제외하고 검색해야 하기 때문이다. /// </summary> /// <param name="item">이름을 셋팅할 item</param> /// <param name="name">setting할 이름</param> /// <returns>같은 이름 없을 시 true리턴.</returns> public bool IsNewName(BitItem bitItem, String name) { foreach (BitItem bitem in _bitItems) { if (bitem.Equals(bitItem)) { continue; //같은 item 제외 } if (bitem.BitName.Equals(name)) { return(false);//같은 이름이 있으므로 newName이 아니다. } } return(true); }
public CPacketItem Clone(CPacketStruct parent = null) { CPacketItem clone = new CPacketItem((parent == null)?_parent : parent); clone.Init(_nameStr, _typeString, Length, _comment, _parent); clone._byteOffset = _byteOffset; //clone._initValueArray = _initValueArray; //clone._initValues = _initValues; clone._isSelected = _isSelected; clone._selectedCells = new List <int>(); //clone.ShowOnReport = ShowOnReport; clone._showOnReport = _showOnReport; clone.BitItems.EventEnabled = false; clone.InitString = InitString; clone.PassCondition = PassCondition; foreach (BitItem item in _bitItems) { BitItem bitClone = item.Clone(); clone._bitItems.Insert(bitClone); } clone.BitItems.EventEnabled = true; return(clone); }