如何使用方法返回值?

时间:2019-05-01 01:35:20

标签: c#

我有一个类和方法,我试图在另一个类方法中使用返回值。

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。但这是行不通的。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

在调用model.ToString()时,实际上是在调用object.ToString(),除非您在ToString()中有自己对CurrentUserViewModel函数的替代,否则不会达到预期的效果

如果您坚持要从函数中返回字符串而不是CurrentUserViewModel

  • 将模型序列化为Json
  • ToString()中覆盖CurrentUserViewModel,并返回您的类的字符串表示形式(不建议这样做)。

请注意,这两种方法都无法真正与下拉菜单配合使用,也无法满足您的m.Id, m.UserName, m.Name使用要求。