Пример #1
0
        /// <summary>
        /// Updates the class.
        /// </summary>
        /// <param name="newClass">The new class.</param>
        /// <returns>The new DynamoData object.</returns>
        public DynamoData UpdateClass(DynamoClass newClass)
        {
            var NewLength = newClass.Keys.Length;
            var OldLength = Data.Length;

            if (OldLength >= NewLength)
            {
                this[NewLength - 1] = Dynamo.UninitializedObject;
                return(new DynamoData(newClass, Data, Version));
            }
            else
            {
                var TempArray = new object[GetAlignedSize(NewLength)];
                Array.Copy(Data, TempArray, OldLength);
                var NewData = new DynamoData(newClass, TempArray, Version);
                NewData[OldLength] = Dynamo.UninitializedObject;
                return(NewData);
            }
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DynamoData"/> class.
 /// </summary>
 /// <param name="definition">The definition.</param>
 /// <param name="data">The data.</param>
 /// <param name="version">The version.</param>
 internal DynamoData(DynamoClass definition, object?[] data, int version)
 {
     Version    = version;
     Data       = data;
     Definition = definition;
 }