хорошо, вы могли бы начать с того, что свелось выражение к:
Func<Items, bool> expr;
if(type== "S")
{
expr = (item => item.Property1 == "SomeValue");
}
else
{
expr = (item => item.Property2 == "SomeOtherValue");
}
var items = Items.Where(expr);
Конечно, план игры в действительности состоит в том, чтобы сделать все это единой системой состояний, но это делает ее НЕМНОГО более управляемой, я думаю :) 1004 *
джим