日期:2014-05-18  浏览次数:20704 次

继续一些基础问题
小弟是从易语言过来的 里面很多东西都不同 所以说的可能不明白 请见谅

我在易语言也基本是面向对象的 所以 c#感觉还好 最近遇到些问题 
这里是入口

  //我在Class1类定义全局变量a;
  Class1 one = new Class1();
  Class1 two = new Class1();
   
  one.suib();//赋值a=2
  two.zailai();//赋值a=3
  one.bux();
  int b = Class1.fhui(); 
  //其实我第一时间想到的是one.fhui(),可惜没有这个函数,就用了 Class1.fhui(),我想要的不是这样的 是要取出one这个类里面的全局变量a。
  //问题是 为什么最后我得到的是3呢。
  //one.fhui()这个函数怎么没有呀?我是想返回one这个函数里面的a全局变量数值.
  //但是却会有N个Class1实例,怎么才能实现呢

下面是Class1
namespace xm
{


  public class Class1
  {
  public static int a;
  public void suib()//赋值a=2
  {
  a = 2;
   
  }
  public void zailai()//赋值a=3
  {
  a = 3;
  }

  public static int fhui()//公开fhui并返回a
  {
  return a;
  }
  public void bux()//赋值a=4
  {
  a = 4;
  }

  }
}



------解决方案--------------------
你定义的是static 函数和变量,所以访问 static 修饰的,不需要创建实例,直接通过类名访问,要想通过实例访问,去掉 static