public int userID;
//global variable
public Index()
{
userID = 10;
return userID;
}
public TaskCompleted()
{
Console.WriteLine(Index())
}
我希望在每个方法中都可以访问userID,并且可以在任何位置更新它
2条答案
按热度按时间f4t66c6m1#
您的
Index
方法有两个问题。1.语法问题:每个方法都必须有一个返回类型。可以是
int
这样的真实的类型,也可以是void
关键字。1.语义问题。在每次调用时,它都会设置
userID
并返回它。为什么要将值存储在这个变量中?它会在下次调用时被新值替换,可能只是一个局部变量(即方法内部的变量),也可能被完全忽略。但也许你的示例并不完整。让我们尝试不同的方法:
1.通过类字段(您的“全局”变量)传递值。
这要求您在调用
PrintUserId();
之前调用SetUserId();
1.让方法返回值。
1.合并前面两种方法
除了赋值和返回值之外没有其他逻辑的属性也可以实现为自动属性。
调用者必须做如下操作:
14ifxucb2#
您可以使用静态类别的静态属性:
用法:
var userId = Globals.UserID;