自动映射uri到字符串约定

Dan*_*anP 3 automapper

使用Automapper,设置全局约定的最佳方法是什么,以便将所有System.Uri属性转换为表示AbsoluteUri属性的字符串?

理想情况下,我想将一个null System.Uri解析为值String.Empty而不是null.

BeR*_*ive 7

设置地图:

Mapper.CreateMap<System.Uri, string>().ConvertUsing<UriToStringConverter>();
Run Code Online (Sandbox Code Playgroud)

创建TypeConverter类:

public class UriToStringConverter : ITypeConverter<System.Uri, string>
{
    public string Convert(ResolutionContext context)
    {
         if (context.SourceValue == null)
         {
            return String.Empty;
         }

         return ((System.Uri)context.SourceValue).AbsoluteUri;
    }
}
Run Code Online (Sandbox Code Playgroud)