我有一个类和方法,我试图在另一个类方法中使用返回值。
public static class GetUser
{
public static string GetCurrentUser()
{
FulfillmentContext db = new FulfillmentContext();
string username = HttpContext.Current.User.Identity.GetUserName();
var currentUser = (from u in db.AspNetUsers
join ur in db.AspNetUserRoles on u.Id equals ur.UserId
join r in db.AspNetRoles on ur.RoleId equals r.Id
where u.UserName == username
select new { u.Id, u.UserName, r.Name }).First();
var model = new CurrentUserViewModel
{
Id = currentUser.Id,
UserName = currentUser.UserName,
Name = currentUser.Name
};
return model.ToString();
}
}
我正在尝试像这样使用它。
String m = GetUser.GetCurrentUser()
;
我以为我会得到m.Id,m.UserName和m.Name。但这是行不通的。我在做什么错了?
答案 0 :(得分:1)
在调用model.ToString()
时,实际上是在调用object.ToString(),除非您在ToString()
中有自己对CurrentUserViewModel
函数的替代,否则不会达到预期的效果
如果您坚持要从函数中返回字符串而不是CurrentUserViewModel
ToString()
中覆盖CurrentUserViewModel
,并返回您的类的字符串表示形式(不建议这样做)。请注意,这两种方法都无法真正与下拉菜单配合使用,也无法满足您的m.Id, m.UserName, m.Name
使用要求。