private static DataDefine TransferDataDefine(DataFieldMapping fieldMapping) { DataDefine define = null; if (fieldMapping is PrimitiveFieldMapping) { if (fieldMapping.ObjectType == typeof(string)) { define = PrimitiveDataDefine.CreateString(fieldMapping.IsNullable, fieldMapping.Name); } else { if (fieldMapping.IsNullable) { Type itemstype = System.Type.GetType("System.Nullable`1"); Type type = itemstype.MakeGenericType(fieldMapping.ObjectType); define = PrimitiveDataDefine.Create(type, fieldMapping.Name); } else { define = PrimitiveDataDefine.Create(fieldMapping.ObjectType, fieldMapping.Name); } } } else if (fieldMapping is EnumFieldMapping) { EnumFieldMapping em = fieldMapping as EnumFieldMapping; if (fieldMapping.IsNullable) { Type itemstype = System.Type.GetType("System.Nullable`1"); Type type = itemstype.MakeGenericType(fieldMapping.ObjectType); define = EnumDataDefine.Create(type, em.EnumType, fieldMapping.Name); } else { define = EnumDataDefine.Create(fieldMapping.ObjectType, em.EnumType, fieldMapping.Name); } } else { throw new LightDataException(RE.OnlyPrimitiveFieldCanSelectSingle); } return(define); }