Example #1
0
        public void SetPossibleValues(XenReflectionProperty xRef, XenProperty xProp, Enum e)
        {
            if (xRef == null || xProp == null)
            {
                return;
            }

            xProp.XenType = CreateType(xRef);
            var item = GetItem(xProp.XenType.GetType());

            var gen    = new EnumGenerator();
            var result = gen.Get(e.GetType());

            if (item != null)
            {
                xProp.XenType.Descriptor = item.Descriptor;
            }

            xProp.XenType.PossibleValues = result;
            xProp.XenType.Descriptor    |= XenPropertyDescriptors.Literals;

            if (e.HasFlags())
            {
                xProp.XenType.Descriptor |= XenPropertyDescriptors.Flags;
            }
        }