0

我在 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.  
}
}
4

4 回答 4

4

那个方法是static

您不能从static方法访问实例成员。那没有意义。

static其视为“类的每个可能实例的全局”。您的int i变量意味着“全局.. 到类的单个实例”。当您这样考虑时,您无法从“对每个实例都全局”的方法访问“对单个实例全局”的变量是有道理的。

希望这是有道理的?(可能需要重新措辞..我只是想让它更容易理解)

于 2013-09-19T04:38:55.597 回答
0

一个static方法只能访问静态成员。

静态方法不能访问非静态类级别成员。实例方法可以访问静态成员,但必须通过实例化对象调用。

于 2013-09-19T04:38:48.757 回答
0

静态方法不能访问非静态成员。要使用非静态成员,请创建类的对象,然后使用 get/set 方法。

于 2013-09-19T04:39:54.750 回答
0

静态方法只能访问静态数据成员。您应该使用静态变量在静态方法中工作。

于 2013-09-19T04:51:43.530 回答