I'm designing a state machine class and want to use lambda expressions to represent conditions to satisfy the state transition objects. When I create a new State Transition object, I also want to pass it a list of Conditions that it can use to evaluate whether or not to move to the next state. However, I'm having problems initializing the list of Conditions. Here is a sample, simplified code example that illustrates the problem I'm having:
// Alias for delegate function
using Condition = Func<int, bool>;
class SomeStateClass
{
public void SomeFuncToCreateConditionList()
{
List<Condition> conditions = new List<Condition>({
{ new Condition(x => x > 5) },
{ new Condition(x => x > 5 * x) }
});
}
}
I'm getting a syntax error for the curley brace on the line List<Condition>({ saying ) expected, and another syntax error on the closing parenthesis saying
new Condition(
; expected
} expected
I'm sure there is something stupid i'm missing here but I've been staring at it too long and can't seem to spot it. Any thought?