在方法的for循环中无法看到类中的对象

时间:2012-09-13 02:24:34

标签: c# object

我的示例代码:

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循环中使用该对象?

3 个答案:

答案 0 :(得分:6)

您的方法是static。您无法从静态方法访问非静态字段。考虑您的方法(或变量)是否应该是静态的

  1. 使用static关键字
  2. 声明您的变量
  3. 从方法声明中删除static关键字
  4. 以下是static (C# Reference)

答案 1 :(得分:4)

对象不是静态的,但方法是。将声明更改为:

static Object a = new Object ();

并且可以在循环中访问它。

您的另一个选择是使方法不是static。你选择哪个取决于你想要的行为。

答案 2 :(得分:1)

您的方法是静态的,这就是您无法访问该对象的原因。尝试将对象设置为静态。