0

我正在使用一系列名为 RelayCommand 的命令,这些命令有一个要执行的函数和一个返回布尔值的函数,告诉你是否可以执行第一个函数。事实上,我大部分时间都在使用 lambda 表达式 () => true。有什么表达式可以用来使它更具可读性吗?像 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);
4

2 回答 2

2

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

public bool TrueFunc()
{
  return true;
}

this.ExitCommand = new RelayCommand(this.Exit, TrueFunc);
于 2012-05-31T11:05:03.123 回答
1

只需创建自己的

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

并像这样使用它

new RelayCommand(this.Exit, TrueFunc);
于 2012-05-31T11:13:09.267 回答