无法访问类的属性

时间:2016-03-16 21:26:10

标签: asp.net class attributes

我编写了一个代码来获取与HttpContext匹配的用户属性,但是当我试图访问User属性时,外部类是不可见的。例如,这是我的Auth Class和User attr。

 public class Auth
{

    IBaseRepository<User> _users;

    public Auth(IBaseRepository<User> user)
    {
        this._users = user;
    }

    private const string UserKey = "simpleBlog.Atuh.UserKey";
    public virtual User User
    {
        get
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
                return null;

            var user = HttpContext.Current.Items[UserKey] as User;

            if (user == null)
            {

                user = _users.GetAll().FirstOrDefault(u => u.Name == HttpContext.Current.User.Identity.Name);

                if (user == null)
                    return null;

                HttpContext.Current.Items[UserKey] = user;

            }

            return user;
        }
    }

}

要从外部课程中获取用户,显示的选项是&#34; Equals&#34;,&#34; ReferenceEquals&#34;。

必须提及我使用依赖注入

1 个答案:

答案 0 :(得分:0)

您忘记使用new关键字实例化该类。如果您没有实例化该类,那么您只能获得用静态关键字标记的类方法。

var baseRepository = new BaseRepository<user>();
var auth = new Auth(baseRepository);

// Now you can access auth.User
console.log(auth.User.Name);