我在visual studio 2010中的应用程序代码文件夹中创建了一个类。当我在方法之外声明任何变量(全局)时,它在该方法中不可见。我是asp.net的新手,可能是我犯了任何错误,但我无法理解。所以我需要一些帮助。我的代码如下......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class Class2
{
public Class2()
{
//
// TODO: Add constructor logic here
//
}
int i;
public static void calculate(string)
{
// here want that variable but i can't get it in intelliscence.
}
}
答案 0 :(得分:4)
该方法为static
。
您无法从static
方法访问实例成员。这没有意义。
将static
视为“对每个可能的类实例都是全局的”。您的int i
变量意味着“全局...到类的单个实例”。当你这样想的时候,你无法从“全局到每个实例”的方法访问“全局到单个实例”的变量。
希望这有道理吗? (可能需要重新措辞..我只是想让它更容易理解)
答案 1 :(得分:0)
static
方法只能访问静态成员。
静态方法无法访问非静态类级别成员。实例方法可以访问静态成员,但必须通过实例化对象调用。
答案 2 :(得分:0)
静态方法无法访问非静态成员。要使用非静态成员,请创建该类的对象,然后使用get / set方法。
答案 3 :(得分:0)
静态方法只能访问静态数据成员。您应该使用静态变量来处理静态方法。