public override byte[] AsByteArray(byte[] lbData, int liOffset) { if (lbData.Length - liOffset < Size) { throw new Exception("Byte-array smaller than needed."); } else { Header.AsByteArray(lbData, liOffset); liOffset += Header.Size; BitConverter.GetBytes(m_Controller_PLCI_NCCI.GetValue()).CopyTo(lbData, liOffset); liOffset += 4; m_CalledPartyNumber.AsByteArray(lbData, liOffset); liOffset += m_CalledPartyNumber.StructSize; m_AdditionalInfo.AsByteArray(lbData, liOffset); liOffset += m_AdditionalInfo.StructSize; return(lbData); } }
public override byte[] AsByteArray(byte[] lbData, int liOffset) { if (lbData.Length - liOffset < Size) { throw new Exception("Byte-array smaller than needed."); } else { Header.AsByteArray(lbData, liOffset); liOffset += Header.Size; BitConverter.GetBytes(m_Controller.GetValue()).CopyTo(lbData, liOffset); liOffset += 4; BitConverter.GetBytes(m_CIPValue).CopyTo(lbData, liOffset); liOffset += 2; m_CalledPartyNumber.AsByteArray(lbData, liOffset); liOffset += m_CalledPartyNumber.StructSize; m_CallingPartyNumber.AsByteArray(lbData, liOffset); liOffset += m_CallingPartyNumber.StructSize; m_CalledPartySubaddress.AsByteArray(lbData, liOffset); liOffset += m_CalledPartySubaddress.StructSize; m_CallingPartySubaddress.AsByteArray(lbData, liOffset); liOffset += m_CallingPartySubaddress.StructSize; m_BProtocol.AsByteArray(lbData, liOffset); liOffset += m_BProtocol.StructSize; m_BearerCapability.AsByteArray(lbData, liOffset); liOffset += m_BearerCapability.StructSize; m_LowLayerCompatibility.AsByteArray(lbData, liOffset); liOffset += m_LowLayerCompatibility.StructSize; m_HighLayerCompatibility.AsByteArray(lbData, liOffset); liOffset += m_HighLayerCompatibility.StructSize; m_AdditionalInfo.AsByteArray(lbData, liOffset); liOffset += m_AdditionalInfo.StructSize; return(lbData); } }