匿名类可以用lambda提示替换

时间:2017-04-06 10:36:50

标签: android android-studio lambda

我使用此库来构建对话框:https://github.com/afollestad/material-dialogs/

我得到了这个提示

  

匿名的新MaterialDialog.SingleButtonCallback()可以替换为lambda提示。

自从更新到Android Studio 2.4 prev 4以来,它向我展示了这个问题: enter image description here

以下是代码:

 public string SignUp(string cname, string caddress, string cdob, long caccount, long cCnic, int cpobox, string cCity, string cstatus,string cemail, string cpass)
    {
        bool check = ConnectDB();           // Opens the Connection to Insert The new User
        string msg = "";
        //DateTime dob = DateTime.ParseExact(cdob, "dd/mm/yyyy", null);
        string query = "INSERT INTO Customers values('" + cname + "','" + caddress + "','" + cdob + "','" + caccount + "','" + cCnic + "','" + cpobox + "','" + cCity + "','" + cstatus + "','"+ cemail + "','"+ cpass + "')";
        SqlCommand comm = new SqlCommand(query, con);
        try{
            if (check == true){
                if (comm.ExecuteNonQuery() > 0)
                    msg = "you've signed up !";
                else
                    msg = "sign up error";                   
            }
            else               
                msg = "Database not Connected";               
        }catch (SqlException ex){
            msg = ex.Message.ToString();
            con.Close();
        }finally{
            con.Close();
        }
        return msg;
    }

如何将其更改为新的lambda架构?

我根据this blog post尝试了以下操作,但它不起作用:enter image description here

1 个答案:

答案 0 :(得分:2)

由于错误表示变量dialog已在范围内定义,因此将其名称更改为dialog1之类的名称,并且它应该有效。

如果您让Android Studio通过单击Alt+Enter将匿名类转换为lambda并从意图列表中选择第一个选项,则不会发生此错误。