当前位置: 首页>>代码示例>>C#>>正文


C# ResolutionContext.CreateValueContext方法代码示例

本文整理汇总了C#中AutoMapper.ResolutionContext.CreateValueContext方法的典型用法代码示例。如果您正苦于以下问题:C# ResolutionContext.CreateValueContext方法的具体用法?C# ResolutionContext.CreateValueContext怎么用?C# ResolutionContext.CreateValueContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AutoMapper.ResolutionContext的用法示例。


在下文中一共展示了ResolutionContext.CreateValueContext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FormatValue

        public string FormatValue(ResolutionContext context)
        {
            Type valueType = context.SourceType;
            object valueToFormat = context.SourceValue;
            IFormatterConfiguration typeSpecificFormatterConfig = null;
            string formattedValue = context.SourceValue.ToNullSafeString();

            if (context.PropertyMap != null)
            {
                foreach (IValueFormatter formatter in context.PropertyMap.GetFormatters())
                {
                    formattedValue = formatter.FormatValue(context.CreateValueContext(valueToFormat));
                    valueToFormat = formattedValue;
                }

                if (_formatterConfiguration.GetTypeSpecificFormatters().TryGetValue(valueType, out typeSpecificFormatterConfig))
                {
                    if (!context.PropertyMap.FormattersToSkipContains(typeSpecificFormatterConfig.GetType()))
                    {
                        var typeSpecificFormatter = new ValueFormatter(typeSpecificFormatterConfig);
                        formattedValue = typeSpecificFormatter.FormatValue(context);
                        valueToFormat = formattedValue;
                    }
                }
            }
            else if (_formatterConfiguration.GetTypeSpecificFormatters().TryGetValue(valueType, out typeSpecificFormatterConfig))
            {
                var typeSpecificFormatter = new ValueFormatter(typeSpecificFormatterConfig);
                formattedValue = typeSpecificFormatter.FormatValue(context);
                valueToFormat = formattedValue;
            }

            foreach (IValueFormatter formatter in _formatterConfiguration.GetFormatters())
            {
                Type formatterType = GetFormatterType(formatter);
                if (CheckPropertyMapSkipList(context, formatterType) &&
                    CheckTypeSpecificSkipList(typeSpecificFormatterConfig, formatterType))
                {
                    formattedValue = formatter.FormatValue(context.CreateValueContext(valueToFormat));
                    valueToFormat = formattedValue;
                }
            }

            return formattedValue;
        }
开发者ID:joshuaflanagan,项目名称:AutoMapper,代码行数:45,代码来源:ValueFormatter.cs


注:本文中的AutoMapper.ResolutionContext.CreateValueContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。