为什么在类中全局声明的变量在同一类方法中不可见/可访问
本文关键字:类方法 访问 变量 全局 声明 为什么 | 更新日期: 2023-09-27 18:32:07
>我在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 方法。
静态方法只能访问静态数据成员。您应该使用静态变量在静态方法中工作。