2010-08-31 3 views
3

je besoin d'un moyen de remplir dynamiquement cette requête ... pour éviter de répéter la même requête que je vais devoir faire environ 20 foisAide asp.net la réflexion et les propriétés mvc

public decimal percentage_of_property(string property) 
{ 
    var total = Routines().Where(r=>r.property==true).Count(); 
    return (decimal)100 * total/routines_total(); 
} 

Cela a évidemment n » t travail ... mais je l'ai mis là pour que vous puissiez voir ce que j'essaie d'atteindre ...

Merci d'avance.

Répondre

2

En supposant Routine est le type que vous pouvez éviter la réflexion et utiliser la programmation fonctionnelle comme ceci: -

public decimal percentage_of_property(Func<Routine, bool> propertyTest) 
{ 
    var total = Routines().Where(r => propertyTest(r)).Count(); 
    return (decimal)100 * total/routines_total(); 
} 

utiliser comme: -

percentage_of_property(r => r.propertyName) 
+0

C'est génial. – ignaciofuentes

Questions connexes