这是做不到的。试想如果不同的实例中该成员的数据是不同的,那么static 成员函数到底使用哪一个呢?

解决方案 »

  1.   

    实例myClass,用对象名来访问
    静态成员属于类,只能通过类名访问
    非静态对象属于实例,只能由对象名访问,所以不能在静态方法中用,如果用,就实例了用啊
      

  2.   

    //example
    using System;class MyClass
    {
    private int i,j; public int GetI()
    {
    return i;
    }

    public int GetJ()
    {
    return j;
    }

    public void SetI(int x)//定义可操作实例成员的方法
    {
    i=x;
    Console.WriteLine("I have set i.");
    } public void SetJ(int y)
    {
    j=y;
    Console.WriteLine("I have set j.");
    }

    public static void MyFunction(MyClass myObject)//将实例作为传给静态方法
    {
    myObject.SetI(1);//调用已定义好的方法,这样就实现了目的
    myObject.SetJ(2);
    }}class EntryPoint
    {
    static void Main()
    {
    MyClass MyObject=new MyClass();
    Console.WriteLine("Before MyFunction:MyObject.i=  "+MyObject.GetI()+"MyObject.j=  "+MyObject.GetJ()); MyClass.MyFunction(MyObject);
    Console.WriteLine("After MyFunction:MyObject.i=  "+MyObject.GetI()+"MyObject.j=  "+MyObject.GetJ());
    }
    }
      

  3.   

    不知道楼主到底想干什么class AClass
    {
      private int i,j;  static void AMethod( AClass a )
      {
        a.i = 0;
        a.j = 0;
      }
    }