Monotouch.Dialog,试图获得EntryElement.ShouldReturn + =()=> {...};上班

时间:2013-01-14 12:47:40

标签: xamarin.ios monotouch.dialog

我想在输入EntryElement时出现的UIKeyboard上的“go”按钮中添加一个事件处理程序。这是我的代码

EntryElement cPassword;
//
cPassword = new EntryElement (" ", "Password", "", true) {
    ReturnKeyType = UIReturnKeyType.Go
};
//
cPassword.ShouldReturn += () => { Login (); };

Login方法返回void并使用用户提供的条目详细信息执行基本日志记录操作。

private void Login ()
{
    // Do login stuff
    //
}

但我认为它需要一个返回类型为func的方法,因为这是我在尝试使用当前代码时得到的错误消息:

Not all code paths return a value in anonymous method of type 'System.Func<bool>' 
(CS1643)

这是我第一次遇到这类事情,从未见过func&lt;&gt;之前:/并希望有人能指出我正确使用它的方向。谢谢!

1 个答案:

答案 0 :(得分:2)

你的匿名方法应该返回一个bool:

cPassword.ShouldReturn = () => {

    Login();
    return true;

};

另请注意,由于ShouldReturn是委托类型的属性,因此最佳做法是分配值,而不是像对待事件(“+ =”)那样添加值。 < / p>