Fondamentalement, comme le titre l'indique lors de l'utilisation de zones dans ASP.NET MVC2.0, je me suis retrouvé avec le suivant "MapRoute "Le code de manipulation est dupliqué pour" RouteCollection "et AreaRegistrationContext" Les deux objets sont en dehors de mon contrôle (c.-à-d. dans le framework .NET MVC), mais ne semblent pas découler d'une interface/classe de base commune. éliminer la duplication de code dans cette situation?Suppression de la duplication de code pour les appels à "RouteCollection.MapRoute()" et "AreaRegistrationContext.MapRoute()"
public void Map(RouteCollection routes)
{
if (Details != null)
{
if (Namespaces != null)
routes.MapRoute(Name, Url, Details, Namespaces);
else
{
routes.MapRoute(Name, Url, Details);
}
}
else
{
if (Namespaces != null)
routes.MapRoute(Name, Url, Namespaces);
else
{
routes.MapRoute(Name, Url);
}
}
}
public void Map(AreaRegistrationContext context)
{
if (Details != null)
{
if (Namespaces != null)
context.MapRoute(Name, Url, Details, Namespaces);
else
{
context.MapRoute(Name, Url, Details);
}
}
else
{
if (Namespaces != null)
context.MapRoute(Name, Url, Namespaces);
else
{
context.MapRoute(Name, Url);
}
}
}