我的示例代码:
public partial class Service1 : ServiceBase
{
object a = new object ();
static void methodA()
{
string[] tests = {"test1","test2","test3"}
foreach(string test in tests)
{
a.SetValue(""); //object a cannot be seen
}
}
}
无法看到对象。如何在for
循环中使用该对象?
答案 0 :(得分:6)
您的方法是static
。您无法从静态方法访问非静态字段。考虑您的方法(或变量)是否应该是静态的
static
关键字static
关键字答案 1 :(得分:4)
对象不是静态的,但方法是。将声明更改为:
static Object a = new Object ();
并且可以在循环中访问它。
您的另一个选择是使方法不是static
。你选择哪个取决于你想要的行为。
答案 2 :(得分:1)
您的方法是静态的,这就是您无法访问该对象的原因。尝试将对象设置为静态。