2012-05-31 3 views
0

나는 실행할 함수가있는 RelayCommand라는 일련의 명령을 사용하고 있으며 첫 번째 함수를 실행할 수 있는지 여부를 알려주는 bool을 반환하는 함수를 사용하고 있습니다. 사실 나는 대부분의 시간에 람다 expression() => true를 사용하고있다. 더 읽기 쉽도록 사용할 수있는 표현이 있습니까? System.TrueFunction 또는 유사합니다.항상 true 람다 표현식에 해당하는 항목이 있습니까?

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); 
+3

RelayCommand 소스가 있습니까? 'null '을 통과 시키려고 했습니까? 'null '을 전달하면 항상 내 구현이 true를 반환합니다. – Botz3000

+2

때로는 두 번째 매개 변수도 선택적이며 심지어 설정되지 않은 경우 항상 true를 반환합니다. – MatthiasG

+0

나는 그것에 대해 생각하지 않았습니다. RelayCommand는 내 프로젝트의 일부이므로 true를 반환하도록 기본값을 갖는 하나의 인수 버전을 구현할 수 있습니다. 팁 고마워. –

답변

1

그냥 만들어 자신의

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

및 사용 이게 맘에 든다.

new RelayCommand(this.Exit, TrueFunc); 
2

가 내장 아무것도 없다,하지만 당신은 쉽게 자신의 만들 수 있습니다 :

는 맥락에서 그것을 참조

public bool TrueFunc() 
{ 
    return true; 
} 

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