2010-11-08 10 views
3

En utilisant Automapper, quelle est la meilleure façon de configurer une convention globale de sorte que toutes les propriétés System.Uri soient converties en une chaîne qui représente la propriété AbsoluteUri?Automapper uri à la convention de chaîne

Idéalement, je voudrais avoir une résolution null System.Uri à une valeur de String.Empty plutôt que null.

Répondre

7

Configuration de la carte:

Mapper.CreateMap<System.Uri, string>().ConvertUsing<UriToStringConverter>(); 

Créer la classe 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; 
    } 
} 
+0

exceptionnelle; Je vous remercie! – DanP