Помощь с отражением и свойствами asp.net mvc - PullRequest
3 голосов
/ 31 августа 2010

Мне нужен способ динамического заполнения этого запроса ... чтобы не повторять один и тот же запрос, который мне придется делать примерно 20 раз

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

Это, очевидно, не работает ... но яположить его туда, чтобы вы могли видеть, чего я пытаюсь достичь ...

Заранее спасибо.

1 Ответ

2 голосов
/ 01 сентября 2010

Предполагая, Routine - это тип, который вы можете избежать отражения и использовать функциональное программирование следующим образом: -

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

используйте это как: -

percentage_of_property(r => r.propertyName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...