/// <summary> /// Creates a new <see cref="DataCellBase"/> from specified parameters. /// </summary> /// <param name="parent">The reference to parent <see cref="IDataFrame"/> of this <see cref="DataCellBase"/>.</param> /// <param name="configurationCell">The <see cref="IConfigurationCell"/> associated with this <see cref="DataCellBase"/>.</param> /// <param name="statusFlags">The default status flags to apply to this <see cref="DataCellBase"/>.</param> /// <param name="maximumPhasors">Sets the maximum number of phasors for the <see cref="PhasorValues"/> collection.</param> /// <param name="maximumAnalogs">Sets the maximum number of phasors for the <see cref="AnalogValues"/> collection.</param> /// <param name="maximumDigitals">Sets the maximum number of phasors for the <see cref="DigitalValues"/> collection.</param> protected DataCellBase(IDataFrame parent, IConfigurationCell configurationCell, ushort statusFlags, int maximumPhasors, int maximumAnalogs, int maximumDigitals) : base(parent, 0) { m_configurationCell = configurationCell; m_statusFlags = statusFlags; m_phasorValues = new PhasorValueCollection(maximumPhasors); m_analogValues = new AnalogValueCollection(maximumAnalogs); m_digitalValues = new DigitalValueCollection(maximumDigitals); }
/// <summary> /// Creates a new <see cref="DataCellBase"/> from serialization parameters. /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> with populated with data.</param> /// <param name="context">The source <see cref="StreamingContext"/> for this deserialization.</param> protected DataCellBase(SerializationInfo info, StreamingContext context) : base(info, context) { // Deserialize data cell values m_configurationCell = (IConfigurationCell)info.GetValue("configurationCell", typeof(IConfigurationCell)); m_statusFlags = info.GetUInt16("statusFlags"); m_phasorValues = (PhasorValueCollection)info.GetValue("phasorValues", typeof(PhasorValueCollection)); m_frequencyValue = (IFrequencyValue)info.GetValue("frequencyValue", typeof(IFrequencyValue)); m_analogValues = (AnalogValueCollection)info.GetValue("analogValues", typeof(AnalogValueCollection)); m_digitalValues = (DigitalValueCollection)info.GetValue("digitalValues", typeof(DigitalValueCollection)); m_statusAssigned = true; }