示例#1
0
        /// <summary>
        /// Is this flags configured?
        /// </summary>
        /// <param name="custom">Input customization flags</param>
        /// <returns>Is this flags configured?</returns>
        public bool IsSet(BitFlag flags)
        {
            bool result       = false;
            bool result_small = true;
            bool result_nn    = true;

            if (flags.Equals(Ope_NO_CUSTOM))
            {
                return(true);
            }

            if (flags.IsSet(Ope_NO_SMALL))
            {
                if (!Customization.IsSet(Custom_SMALL))
                {
                    result_small = true;
                }
                else
                {
                    result_small = false;
                }
            }
            if (flags.IsSet(Ope_SMALL))
            {
                if (Customization.IsSet(Custom_SMALL))
                {
                    result_small = true;
                }
                else
                {
                    result_small = false;
                }
            }

            if (flags.IsSet(Ope_NN))
            {
                if (Customization.IsSet(Custom_NN))
                {
                    result_nn = true;
                }
                else
                {
                    result_nn = false;
                }
            }
            if (flags.IsSet(Ope_NO_NN))
            {
                if (!Customization.IsSet(Custom_NN))
                {
                    result_nn = true;
                }
                else
                {
                    result_nn = false;
                }
            }

            if (!flags.And(SmallNN).IsAny())
            {
                result = true;
            }
            if (flags.IsSet(Ope_SH))
            {
                if (Customization.IsSet(Custom_SH))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_SH))
            {
                if (!Customization.IsSet(Custom_SH))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_CH))
            {
                if (Customization.IsSet(Custom_CH))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_CH))
            {
                if (!Customization.IsSet(Custom_CH))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_TS))
            {
                if (Customization.IsSet(Custom_TS))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_TS))
            {
                if (!Customization.IsSet(Custom_TS))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_FU))
            {
                if (Customization.IsSet(Custom_FU))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_HU))
            {
                if (!Customization.IsSet(Custom_FU))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_ZI))
            {
                if (!Customization.IsSet(Custom_JI))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_JI))
            {
                if (Customization.IsSet(Custom_JI))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_L))
            {
                if (!Customization.IsSet(Custom_X))
                {
                    if (flags.IsSet(Ope_YIE))
                    {
                        if (Customization.IsSet(Custom_YIE))
                        {
                            result = true;
                        }
                    }
                    if (flags.IsSet(Ope_NO_YIE))
                    {
                        if (!Customization.IsSet(Custom_YIE))
                        {
                            result = true;
                        }
                    }
                    else
                    {
                        result = true;
                    }
                }
            }
            if (flags.IsSet(Ope_X))
            {
                if (Customization.IsSet(Custom_X))
                {
                    if (flags.IsSet(Ope_YIE))
                    {
                        if (Customization.IsSet(Custom_YIE))
                        {
                            result = true;
                        }
                    }
                    if (flags.IsSet(Ope_NO_YIE))
                    {
                        if (!Customization.IsSet(Custom_YIE))
                        {
                            result = true;
                        }
                    }
                    else
                    {
                        result = true;
                    }
                }
            }
            if (flags.IsSet(Ope_VY))
            {
                if (Customization.IsSet(Custom_VY))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_VY))
            {
                if (!Customization.IsSet(Custom_VY))
                {
                    result = true;
                }
            }
            if ((flags.IsSet(Ope_NO_QW)) &&
                (flags.IsSet(Ope_NO_KW)))
            {
                if (!Customization.IsSet(Custom_QW) && !Customization.IsSet(Custom_KW))
                {
                    result = true;
                }
            }
            else
            {
                if (flags.IsSet(Ope_QW))
                {
                    if (Customization.IsSet(Custom_QW))
                    {
                        result = true;
                    }
                }
                if (flags.IsSet(Ope_NO_QW))
                {
                    if (!Customization.IsSet(Custom_QW))
                    {
                        result = true;
                    }
                }
                if (flags.IsSet(Ope_KW))
                {
                    if (Customization.IsSet(Custom_KW))
                    {
                        result = true;
                    }
                }
                if (flags.IsSet(Ope_NO_KW))
                {
                    if (!Customization.IsSet(Custom_KW))
                    {
                        result = true;
                    }
                }
            }
            if (flags.IsSet(Ope_ZY))
            {
                if (Customization.IsSet(Custom_ZY))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_ZY))
            {
                if (flags.IsSet(Ope_JY))
                {
                    if (Customization.IsSet(Custom_JY))
                    {
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
                if (flags.IsSet(Ope_NO_JY))
                {
                    if (!Customization.IsSet(Custom_JY))
                    {
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
            }
            if (flags.IsSet(Ope_FY))
            {
                if (Customization.IsSet(Custom_FY))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_FY))
            {
                if (!Customization.IsSet(Custom_FY))
                {
                    result = true;
                }
            }
            if ((flags.IsSet(Ope_NO_TY)) &&
                (flags.IsSet(Ope_NO_CY)))
            {
                if (!Customization.IsSet(Custom_TY) && !Customization.IsSet(Custom_CY))
                {
                    result = true;
                }
            }
            else
            {
                if (flags.IsSet(Ope_TY))
                {
                    if (Customization.IsSet(Custom_TY))
                    {
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
                if (flags.IsSet(Ope_NO_TY))
                {
                    if (!Customization.IsSet(Custom_TY))
                    {
                        result = true;
                    }
                }
                if (flags.IsSet(Ope_CY))
                {
                    if (Customization.IsSet(Custom_CY))
                    {
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
                if (flags.IsSet(Ope_NO_CY))
                {
                    if (!Customization.IsSet(Custom_CY))
                    {
                        result = true;
                    }
                }
            }
            if (flags.IsSet(Ope_XN))
            {
                if (Customization.IsSet(Custom_XN))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_XN))
            {
                if (!Customization.IsSet(Custom_XN))
                {
                    result = true;
                }
            }

            if (flags.IsSet(Ope_C))
            {
                if (Customization.IsSet(Custom_C))
                {
                    result = true;
                }
            }
            if (flags.IsSet(Ope_NO_C))
            {
                if (!Customization.IsSet(Custom_C))
                {
                    if (flags.IsSet(Ope_SH))
                    {
                        if (Customization.IsSet(Custom_SH))
                        {
                            result = true;
                        }
                        else
                        {
                            result = false;
                        }
                    }
                    else if (flags.IsSet(Ope_NO_SH))
                    {
                        if (!Customization.IsSet(Custom_SH))
                        {
                            result = true;
                        }
                        else
                        {
                            result = false;
                        }
                    }
                    else
                    {
                        result = true;
                    }
                }
            }

            return(result && result_small && result_nn);
        }