我正在设计一个状态机类,并希望使用 lambda 表达式来表示满足状态转换对象的条件。当我创建一个新的状态转换对象时,我还想向它传递一个条件列表,它可以用来评估是否移动到下一个状态。但是,我在初始化条件列表时遇到问题。这是一个示例,简化的代码示例,说明了我遇到的问题:
// 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) }
});
}
}
我在说 的行上遇到花括号大括号的语法错误,在右括号上List<Condition>({
说) expected
另一个语法错误
new Condition(
; expected
} expected
我确定我在这里遗漏了一些愚蠢的东西,但我已经盯着它太久了,似乎无法发现它。任何想法?