Ejemplo n.º 1
0
        public IEnumValueDescriptor Value <T>(T value)
        {
            EnumValueDescriptor descriptor = Values.FirstOrDefault(t =>
                                                                   t.Definition.Value is not null &&
                                                                   t.Definition.Value.Equals(value));

            if (descriptor is not null)
            {
                return(descriptor);
            }

            descriptor = EnumValueDescriptor.New(Context, value);
            Values.Add(descriptor);
            return(descriptor);
        }
Ejemplo n.º 2
0
        protected void AddImplicitValues(
            EnumTypeDefinition typeDefinition,
            IDictionary <object, EnumValueDefinition> values)
        {
            if (typeDefinition.Values.IsImplicitBinding())
            {
                foreach (object value in Context.Inspector
                         .GetEnumValues(typeDefinition.ClrType))
                {
                    EnumValueDefinition valueDefinition =
                        EnumValueDescriptor.New(Context, value)
                        .CreateDefinition();

                    if (!values.ContainsKey(valueDefinition.Value))
                    {
                        values.Add(valueDefinition.Value, valueDefinition);
                    }
                }
            }
        }