示例#1
0
 /// <summary>
 /// Constructor for creating a data item with the given number of attributes
 /// </summary>
 /// <param name="c">The number of attributes to track</param>
 /// <param name="r">Delegate to release data item back to data pool</param>
 public DataItem(int c, Utility.DataItemPool.ReleaseDataItem r)
 {
     cAttrs = c;
     reldataitem = r;
     //ArrayList temp = new ArrayList(c);
     //#warning Testing out synchronization of data items
     //alValues = ArrayList.Synchronized(temp);
     //alValues = new ArrayList(c);
     alValues = dvm.GetALValues();
 }
示例#2
0
 /// <summary>
 /// Copy constructor for a data item
 /// </summary>
 /// <param name="di">The data item to copy</param>
 /// <param name="c">The number of attributes more to track than the input data item has</param>
 /// <param name="r">Delegate to release data item back to data pool</param>
 public DataItem(DataItem di, uint c, Utility.DataItemPool.ReleaseDataItem r)
 {
     cAttrs = (int)c + di.Count;
     fEOF = di.fEOF;
     TimeStamp = di.TimeStamp;
     reldataitem = r;
     alValues = dvm.GetALValues();
     foreach (object o in di.alValues)
     {
         AddValue(o);
     }
 }
示例#3
0
        /// <summary>
        /// Constructor to create a data item from a serialized one
        /// </summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected DataItem(SerializationInfo info, StreamingContext context)
        {
            cAttrs = info.GetInt32(CATTRS_SERIALIZATION);
            fEOF = info.GetBoolean(EOF_SERIALIZATION);
            TimeStamp = info.GetDateTime(TS_SERIALIZATION);
            reldataitem = null;
            alValues = dvm.GetALValues();

            int tmp;
            foreach (var si in info)
            {
                //Console.WriteLine("<{0} = {1}>", si.Name, si.Value);
                if (Int32.TryParse(si.Name, out tmp))
                    this.AddValue(si.Value);
            }
        }