Методы упрощения некрасивых вложенных деревьев if-else в C #

Иногда я'm писать некрасивые операторы if-else в C # 3.5; Я'Я знаю о некоторых различных подходах к упрощению этого с помощью табличной разработки, иерархии классов, анонимных методов и некоторых других. Проблема в том, что альтернативы все еще менее распространены, чем написание традиционных уродливых операторов if-else, потому что для этого нет соглашения.

Какая глубина вложенного if-else является нормальной для C # 3.5? Какие методы вы ожидаете увидеть вместо вложенных if-else первым? второй?

если у меня есть десять входных параметров с 3 состояниями в каждом, я должен сопоставить функции с комбинацией каждого состояния каждого параметра (на самом деле меньше, потому что не все состояния являются действительными, но иногда все еще много). Я могу выразить эти состояния в виде ключа хеш-таблицы и обработчика (лямбда), который будет вызываться при совпадении ключа.

Это все еще смесь таблиц, управляемых данными dev. идеи и сопоставление с образцом.

что я'm ищет для C # такие подходы, как этот для сценариев (C # 3.5 скорее похож на сценарии)http://blogs.msdn.com/ericlippert/archive/2004/02/24/79292.aspx

Ответы на вопрос(10)

Ваш ответ на вопрос