gpt4 book ai didi

c# - 在 C# 中使用 switch 语句时遇到问题

转载 作者:行者123 更新时间:2023-11-30 20:22:07 24 4
gpt4 key购买 nike

您好,我需要有关 C# 中 switch 语句的帮助。我根据 userRole 显示一个元素。我的 userRole 很好,因为我在另一个页面(角色)中使用了代码我在将角色传递给 switch 语句时遇到了问题。

    protected void Page_Load()
{
string userRole = string.Empty;
try
{
// Get current logged in usename
string username = User.Identity.Name;
if (string.IsNullOrEmpty(username))
{
userRole = "isanonymus";
}
else
{
Compras entity = new Compras();
AspNetUser user = entity.AspNetUsers.Where(u => u.UserName.Equals(username)).FirstOrDefault();
// get role of current logged in user
userRole = user.AspNetRoles.First().Name.ToLower();
}
}
catch
{
userRole = string.Empty;
}
if (!IsPostBack)
{
ToWhom(userRole);
}

}
private void ToWhom(string userRole)
{
switch (userRole)
{
case "employee":
return EmployeeView.Visible = true;
case "supplier":
return SupplierView.Visible = true;
default:
return GenericView.Visible = true;
}
}

这是我得到的错误:错误 CS0127 由于“Manage.ToWhom(string)”返回 void,return 关键字后面不能跟对象表达式

最佳答案

当前您正在尝试返回一个值,该值将是一个 bool 值。您需要使用以下方法从 switch case 语句中中断。你需要改变这个。

private void ToWhom(string userRole)
{
switch (userRole)
{
case "employee":
return EmployeeView.Visible = true;
case "supplier":
return SupplierView.Visible = true;
default:
return GenericView.Visible = true;
}
}

为此。

private void ToWhom(string userRole)
{
switch (userRole)
{
case "employee":
EmployeeView.Visible = true;
break;
case "supplier":
SupplierView.Visible = true;
break;
default:
GenericView.Visible = true;
break;
}
}

关于c# - 在 C# 中使用 switch 语句时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32448067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com