//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."); }
静态成员属于类,只能通过类名访问
非静态对象属于实例,只能由对象名访问,所以不能在静态方法中用,如果用,就实例了用啊
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());
}
}
{
private int i,j; static void AMethod( AClass a )
{
a.i = 0;
a.j = 0;
}
}