Ejemplo n.º 1
0
        /// <summary>
        /// Установка битов пересчета
        /// </summary>
        /// <param name="instance">Ссылка на объект</param>
        /// <param name="propertyName">Наименование поля (Шаблон: Наименование_класса.Наименование_поля)</param>
        /// <returns>Объединенные биты пересчета</returns>
        public static void SetBit(IOptionsAdjust instance, string propertyName)
        {
            if (instance == null)
            {
                return;
            }

            long newBits = instance.GetBit(propertyName);

            instance.OptionsAdjust = instance.OptionsAdjust | newBits;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Запуск алгоритма пересчета по переданному полю.
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="propertyName">Наименование поля (Шаблон: Наименование_класса.Наименование_поля)</param>
        public static void AdjustFromPropertyName(IOptionsAdjust instance, string propertyName)
        {
            if (instance == null)
            {
                return;
            }

            long bits = instance.GetBit(propertyName);

            OptionsAdjustHelper.AdjustFromBits(instance, bits);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Запуск алгоритмов пересчета по заданной маске битов.
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="bits">Маска битов для пересчета</param>
        public static void AdjustFromBits(IOptionsAdjust instance, long bits)
        {
            if (instance == null)
            {
                return;
            }

            if (bits > 0)
            {
                for (byte i = 1; i <= 64; i++)
                {
                    if ((bits & (1 << i)) != 0)
                    {
                        instance.Adjust(i);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Запуск алгоритмов пересчета по установленным ранее битам (OptionsAdjust).
        /// </summary>
        /// <param name="instance"></param>
        public static void Adjust(IOptionsAdjust instance)
        {
            if (instance == null)
            {
                return;
            }

            if (instance.OptionsAdjust > 0)
            {
                for (byte i = 1; i <= 64; i++)
                {
                    if ((instance.OptionsAdjust & (1 << i)) != 0)
                    {
                        instance.Adjust(i);
                    }
                }
            }
        }