コード例 #1
0
        private static object GetEnums(this Type enumType, object value)
        {
            if (FlagEnums.IsFlagEnum(enumType) && FlagEnums.HasAnyFlags(enumType, value))
            {
                return(string.Join("|", FlagEnums.GetFlagMembers(enumType, value)
                                   .Select(member => $"{enumType.FullName}.{member.Name}")));
            }

            var name = Enum.GetName(enumType, value);

            return($"{enumType.FullName}.{name}");
        }
コード例 #2
0
        public static void Extend(this PredifinedModelMapperConfiguration configuration, Action <ModelMapperConfiguration> configure = null)
        {
            var results = FlagEnums.GetFlagMembers(configuration).Select(_ => _.Value)
                          .Select(_ => {
                var modelMapperConfiguration = _.ModelMapperConfiguration(configure);
                return(modelMapperConfiguration.MapData.typeToMap, modelMapperConfiguration);
            });

            foreach (var result in results)
            {
                result.Extend(result.modelMapperConfiguration.MapData.modelType);
            }
        }
コード例 #3
0
 public static IObservable <Type> MapToModel(this PredifinedModelMapperConfiguration configuration, Action <ModelMapperConfiguration> configure = null)
 {
     return(FlagEnums.GetFlagMembers(configuration).Select(_ => _.Value).MapToModel((mapperConfiguration, modelMapperConfiguration) => configure?.Invoke(modelMapperConfiguration)));
 }
コード例 #4
0
 public static IEnumerable <EnumMember> GetFlagMembers(EnumMember member) => FlagEnums.GetFlagMembers(member);