Exemple #1
0
            private IEdmEnumType BuildEdmEnumType(EnumTypeElement enumTypeElement)
            {
                var enumType = new EdmEnumType(_namespaceName, enumTypeElement.ResolveName(), Convert(enumTypeElement.UnderlyingType), false);

                foreach (var member in enumTypeElement.Members)
                {
                    enumType.AddMember(member.Key, new EdmIntegerConstant(member.Value));
                }

                return(enumType);
            }
Exemple #2
0
        private static Type CreateEnum(ModuleBuilder moduleBuilder, EnumTypeElement element)
        {
            var typeName       = element.ResolveName();
            var underlyingType = ConvertType(element.UnderlyingType);

            var typeBuilder = moduleBuilder.DefineEnum(typeName, underlyingType);

            foreach (var member in element.Members)
            {
                typeBuilder.DefineLiteral(member.Key, Convert.ChangeType(member.Value, underlyingType));
            }

            return(typeBuilder.CreateType());
        }
Exemple #3
0
            private IEdmEnumType ResolveEnumType(EnumTypeElement enumTypeElement)
            {
                var typeName = enumTypeElement.ResolveName();

                IEdmSchemaType enumType;

                if (!_registeredTypes.TryGetValue(typeName, out enumType))
                {
                    _registeredTypes.Add(typeName, enumType = BuildEnumType(typeName, enumTypeElement));

                    AnnotateElement(enumType, enumTypeElement.Identity.Id);
                }

                return((IEdmEnumType)enumType);
            }
            private IEdmEnumType ResolveEnumType(EnumTypeElement enumTypeElement)
            {
                var typeName = enumTypeElement.ResolveName();

                IEdmSchemaType enumType;
                if (!_registeredTypes.TryGetValue(typeName, out enumType))
                {
                    _registeredTypes.Add(typeName, enumType = BuildEnumType(typeName, enumTypeElement));

                    AnnotateElement(enumType, enumTypeElement.Identity.Id);
                }

                return (IEdmEnumType)enumType;
            }
        private static Type CreateEnum(ModuleBuilder moduleBuilder, EnumTypeElement element)
        {
            var typeName = element.ResolveName();
            var underlyingType = ConvertType(element.UnderlyingType);

            var typeBuilder = moduleBuilder.DefineEnum(typeName, underlyingType);

            foreach (var member in element.Members)
            {
                typeBuilder.DefineLiteral(member.Key, Convert.ChangeType(member.Value, underlyingType));
            }

            return typeBuilder.CreateType();
        }
            private IEdmEnumType BuildEdmEnumType(EnumTypeElement enumTypeElement)
            {
                var enumType = new EdmEnumType(_namespaceName, enumTypeElement.ResolveName(), Convert(enumTypeElement.UnderlyingType), false);

                foreach (var member in enumTypeElement.Members)
                {
                    enumType.AddMember(member.Key, new EdmIntegerConstant(member.Value));
                }

                return enumType;
            }