【发布时间】:2014-01-26 17:07:13
【问题描述】:
我很困惑,我有以下类定义
public class User
{
public enum UserRoleTypes : int
{
Guest = 0,
User = 1,
Administrator = 2,
Developer = 3,
}
}
但是,当尝试在这样的 Page_Load 方法中访问此公共枚举时。
public partial class Options_AccessControl : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
User currentUser = OCMSession.getCurrentUser(this);
if (currentUser.getRoleID() < (int)User.UserRoleTypes.Administrator)
{
LogWriter logger = new LogWriter();
}
}
}
我收到以下错误。
Error 5 'System.Security.Principal.IPrincipal' does not contain a definition for 'UserRoleTypes' and no extension method 'UserRoleTypes' accepting a first argument of type 'System.Security.Principal.IPrincipal' could be found (are you missing a using directive or an assembly reference?) H:\SVN\OCM\Options\AccessControl.aspx.cs 15 49 OCM
但是,相同的代码在没有 User 类定义的情况下也能工作。像 Entity.UserRoleTypes 或者如果我将枚举定义移到类之外。非常感谢您对理解此错误的任何帮助。
【问题讨论】: