private void AddEnumeration(DCType dCType) { var type1 = baseAssembly.GetType(nameSpacePrefix + "Enumeration`2"); var enumBuilder = DefineEnum(nameSpacePrefix + dCType.Name); var isEmptyEnum = true; List <DCField> fields = dCType.GetFields(); var type2 = typeof(string); foreach (var field in fields) { type2 = dCTypeStore.GetDCBuilderType(field.EnumFieldTypeName).Type.GetGenericArguments()[0]; int result; DefineLiteral(enumBuilder, field.Name, int.TryParse(field.DefaultValue, out result) ? result : field.Name.GetHashCode(), field.DefaultValue, field); isEmptyEnum = false; } var type3 = enumBuilder.CreateType(); var type4 = type1.MakeGenericType(type3, type2); dCTypeStore.Add(dCType.Name, type4, (TypeBuilder)null, true, isEmptyEnum); }
public virtual void AddDC(DCType dCType) { dCTypeStore.Add(dCType.Name, typeof(string), (TypeBuilder)null); }