C# ASP.NET中的方法和类型之间的一般区别是什么?
我正在创建一个在线应用程序,它需要一些C#代码。因此,我创建了一个新文件名:User.cs,在该文件中,我有以下代码:C# ASP.NET中的方法和类型之间的一般区别是什么?,c#,asp.net,C#,Asp.net,我正在创建一个在线应用程序,它需要一些C#代码。因此,我创建了一个新文件名:User.cs,在该文件中,我有以下代码: public class UserProperties { public string hasPermission (string permission) { // get the permissions of the user var db = Database.Open("VMS"); var roles = db.Q
public class UserProperties {
public string hasPermission (string permission) {
// get the permissions of the user
var db = Database.Open("VMS");
var roles = db.Query("SELECT * FROM webpages_UsersInRoles
WHERE UserId =@0", WebSecurity.CurrentUserId);
// Get the Role Id
var getRole = "";
foreach (var row in roles) {
getRole = row.RoleId.ToString();
}
// Get the permission ID
var permissions = db.Query("SELECT * FROM Permissions WHERE
LOWER(Permission_Name) = LOWER(@0)", permission);
var permissionId = "";
foreach (var row in permissions) {
permissionId = row.Permission_Id.ToString();
}
// Now get the rolePermissions
var role_permissions = db.Query("SELECT * FROM Role_Permissions
WHERE Role_Id =@0 AND Permission_Id =@1", getRole, permissionId);
if(role_permissions.Count() == 0) {
return "Not Allowed.";
} else {
return "Yes, full permission.";
}
}
}
这段代码将查找用户的权限,然后返回一个值。但这并没有发生。当我尝试执行它时:
@{
new UserProperties.hasPermission("Create_Page");
}
这给了我一个例外:
CS0118:“User.hasPermission(string)”是一个“方法”,但与“类型”一样使用
我不知道我如何使用它作为一种类型 您需要使用:
new UserProperties().hasPermission("Create_Page")
或者,您可以将haspmission
设置为静态,这样就不需要创建Instance
public static string hasPermission (string permission) { ... }
@{
UserProperties.hasPermission("Create_Page");
}
您需要使用:
new UserProperties().hasPermission("Create_Page")
或者,您可以将haspmission
设置为静态,这样就不需要创建Instance
public static string hasPermission (string permission) { ... }
@{
UserProperties.hasPermission("Create_Page");
}
您只需添加括号即可:
@{
new UserProperties().hasPermission("Create_Page");
}
newuserproperties()
创建一个UserProperties
类的实例,然后在该类上调用haspmission
方法
如果将
hasPermission
定义为static
,则您的语法将是有效的(不需要实例来调用该方法)。您只需添加括号:
@{
new UserProperties().hasPermission("Create_Page");
}
newuserproperties()
创建一个UserProperties
类的实例,然后在该类上调用haspmission
方法
如果
hasPermission
被定义为static
,那么您的语法将是有效的(不需要实例来调用方法)。代码的第一行:
public class UserProperties
定义(对象)类型
下一行声明一个实例方法
除非创建UserProperties的实例
var userProperties = new UserProperties();
您不能调用hasPermission()
您也可以(不推荐)创建一个静态方法
public static string hasPermission (string permission)
代码的第一行:
public class UserProperties
定义(对象)类型
下一行声明一个实例方法
除非创建UserProperties的实例
var userProperties = new UserProperties();
您不能调用hasPermission()
您也可以(不推荐)创建一个静态方法
public static string hasPermission (string permission)
u必须创建UserProperties的实例
var up = new UserProperties();
up.hasPermission("Create_Page");
或者只是
new UserProperties().hasPermission("Create_Page");
您必须创建UserProperties的实例
var up = new UserProperties();
up.hasPermission("Create_Page");
或者只是
new UserProperties().hasPermission("Create_Page");
编译器被搞糊涂了。你告诉他创建一个新的,哦,不,获得一些方法的价值。我建议你开始阅读,从做小
你好,世界开始代码>进入复杂的Web内容之前的应用程序类型。@JonathanLonowski,是的,你是对的。我只是错过了那篇偏执的论文。编译程序很混乱。你告诉他创建一个新的,哦,不,获得一些方法的价值。我建议你开始阅读,从做小你好,世界开始代码>进入复杂的Web内容之前的应用程序类型。@JonathanLonowski,是的,你是对的。我只是错过了那个妄想症……啊,非常感谢!:)我真的要用static
和你的代码:)谢谢兄弟……啊,非常感谢!:)我真的要用static
和你的代码:)谢谢兄弟。。。