как я могу хранить и повторно использовать части моих лямбда-выражений

У меня есть блок кода, в котором часть лямбда-выражения используется снова и снова. Как сохранить эту логику, чтобы я мог повторно использовать этот фрагмент выражения?

Например: давайте рассмотрим пример кода, приведенного ниже

Session.Query<DimensionGroup>()(dimgroup=>(dimgroup.Users.Where(map => 
((map.User.Key == _users.PublicUser.Key || map.User.Key == _users.CurrentUser.Key) &&
map.AccessLevel.ToAccessLevel() == AccessLevel.Write)).Count() > 0));

(map.User.Key == _users.PublicUser.Key || map.User. Key == _users.CurrentUser.Key) - часть, которую я хочу использовать повторно.

и аналогичный фрагмент кода ...

Session.Query<DimensionGroup>()(dimgroup =>(dimgroup.Users.Where(map => ((map.User.Key
==_users.PublicUser.Key || map.User.Key == _users.CurrentUser.Key) &&
map.AccessLevel.ToAccessLevel() ==  AccessLevel.Read)).Count() > 0));

(map.User.Key == _users.PublicUser.Key || map.User.Key == _users.CurrentUser.Key) - это часть, которую я хочу использовать повторно.

Есть ли способ повторно использовать только эти части выражения?

11
задан Quintin Robinson 22 March 2011 в 20:00
поделиться