我无法访问我在班级中声明的变量

时间:2014-04-23 12:39:37

标签: c#

这是我的c#代码

namespace abc {
    public class def: SchedulerClient 
    {
        public string key; {}
        public static void send(string abc) 
        {
            lots of code...........
            key = string;
        }
    }    
}

当我尝试将字符串值存储在我声明为“public”的变量键中时,我收到错误。

这是我得到的错误:

  

非静态字段,方法或者需要对象引用   property'abc .def.Dkey'

我如何克服这个?

3 个答案:

答案 0 :(得分:4)

你可以通过使你的方法不是静态的来克服它:

public void send(string abc) 
{
    lots of code...........
    key = stringValue;
}

或将字段设为静态:

public static string key;

无论如何,我认为你需要考虑你的设计并弄清楚什么是静态的,什么不是。

答案 1 :(得分:2)

您的方法是静态的,但您的密钥是一个实例。您无法访问静态引用中的实例属性或方法。

要么使它们都是静态的,要么使它们都是非静态的

答案 2 :(得分:1)

静态成员只能在静态方法中访问,静态方法可以访问静态成员以及非静态成员。请相应地进行更改。