c# - 登录前验证电子邮件地址
问题描述
我试图在登录前验证用户的电子邮件地址。但是,当我尝试使用以下代码时,它会提示错误,因此我无法验证用户的电子邮件地址。
var user await ParseUser.LogInAsync(EmailU, PasswordU);
if (user["emailVerified"] = true )
这是错误消息:
错误 CS0818 必须初始化隐式类型变量
错误 CS0136 无法在此范围内声明名为“用户”的本地或参数,因为该名称在封闭的本地范围中用于定义本地或参数
错误 CS1002 ; 预期的
private async void BtnLoginUser_Click(object sender, System.EventArgs e)
{
string EmailU = txtEmailU.Text.ToString();
string PasswordU = txtPwU.Text.ToString();
var user = new ParseUser();
try
{
if (string.IsNullOrEmpty(EmailU))
{
Toast.MakeText(this, "Please Enter Email", ToastLength.Long).Show();
return;
}
else if (string.IsNullOrEmpty(PasswordU))
{
Toast.MakeText(this, "Please Enter Password", ToastLength.Long).Show();
return;
}
else
{
ProgressDialog mDialog = new ProgressDialog(this);
mDialog.SetTitle("Please Wait");
mDialog.SetMessage("Loging");
mDialog.SetCanceledOnTouchOutside(true);
mDialog.SetProgressStyle(ProgressDialogStyle.Spinner);
mDialog.Show();
var user await ParseUser.LogInAsync(EmailU, PasswordU);
if (user["emailVerified"] = true )
{
StartActivity(typeof(MainActivity));
}
else
{
Toast.MakeText(this, "Please Verify", ToastLength.Long).Show();
return;
}
}
}
catch (Exception ep)
{
Toast.MakeText(this, "Some Error Occured " + ep.Message, ToastLength.Long).Show();
}
解决方案
相关行旁边的代码注释。
CS0136 错误是因为您user
稍后通过重新声明它“遮蔽”了它,var user...
我认为这应该与使用的声明相同,因此删除第一个或var
从第二个中删除。
此外,您需要将分配给await
用户,因此您缺少=
.
最后,您不想=
在下一个if
语句中使用,您想测试该值是否为真。您可以使用== true
,但惯用的方式是使用if (user["emailVerified"])
.
private async void BtnLoginUser_Click(object sender, System.EventArgs e)
{
string EmailU = txtEmailU.Text.ToString();
string PasswordU = txtPwU.Text.ToString();
var user = new ParseUser();
try
{
// ...
else
{
// ...
mDialog.Show();
// need = to assign to user
// also remove var since already declared above (this fixes two errors)
// OR remove the above declaration!
user = await ParseUser.LogInAsync(EmailU, PasswordU);
// could be == true, but should just be user["emailVerified"]
if (user["emailVerified"])
{
StartActivity(typeof(MainActivity));
}
else
{
Toast.MakeText(this, "Please Verify", ToastLength.Long).Show();
return;
}
}
}
catch (Exception ep)
{
Toast.MakeText(this, "Some Error Occured " + ep.Message, ToastLength.Long).Show();
}
}
注意:这很可能user["emailVerified"]
不是原生 .Net 布尔值,您可能需要进行某种转换、解析或其他测试。您需要查看 API 的文档和/或检查调用返回的类型以确定这一点。
推荐阅读
- karate - 如何在空手道中添加条件等待响应?
- php - 如何让服务器访问 Google Calendar API?
- javascript - 使用模板文字的动态 Vue 组件导入路径
- dart - 颤振没有运行
- java - Android:选中一个复选框会检查同一行中的所有复选框
- reactjs - Redux Form - 使用动态字段名称初始化状态
- android - 在 GradientDrawable Android 上设置描边
- python - 如何在 Django (Saleor) 中将“Chk”参数传递给 dotpay 支付网关
- node.js - 如何使用 Koa.JS 2 上传文件?
- python - 如何从python中的输入中获取方程