为什么在类中全局声明的变量在同一类方法中不可见/可访问

  • 本文关键字:类方法 访问 全局 声明 变量 c#
  • 更新时间 :
  • 英文 :


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

该方法static

不能从static方法访问实例成员。这说不通。

static视为"类的每个可能实例的全局"。您的int i变量表示"全局"。到类的单个实例"。当你这样想时,你不能从一个"对每个实例全局"的方法访问"对单个实例是全局的"变量是有道理的。

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

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

静态

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

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

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

最新更新