有没有相当于总是真正的lambda表达式?

时间:2012-05-31 10:59:08

标签: c#-4.0 lambda equivalent

我正在使用一系列名为RelayCommand的命令,它们具有执行功能和返回bool的函数,告诉你是否可以执行第一个函数。事实是我正在使用lambda表达式()=>大部分时间都是如此。是否有任何表达式可用于使其更具可读性?像System.TrueFunction或类似的东西。

在上下文中查看:

  this.PasteFromExcelCommand = new RelayCommand(PasteFromExcel, this.OneRowSelected);
  this.SaveCommand = new RelayCommand(this.SaveSession, CanSave);
  this.SwitchViewCommand = new RelayCommand(this.SwitchView, () => true);
  this.ExitCommand = new RelayCommand(this.Exit, () => true);

2 个答案:

答案 0 :(得分:2)

内置任何内容,但您可以轻松创建自己的内容:

public bool TrueFunc()
{
  return true;
}

this.ExitCommand = new RelayCommand(this.Exit, TrueFunc);

答案 1 :(得分:1)

只需创建自己的

static readonly Func<bool> TrueFunc = () => true;

并像这样使用

new RelayCommand(this.Exit, TrueFunc);