(1)如果两个类没有继承关系,存取另一个类中变量的方法如下:
1 public class A 2 { 3 // 注意: 4 // Count是静态变量(static),称为类变量。类变量无需实例化即可使用 5 public static int Count; 6 // 注意: 7 // x是不是静态变量,称为实例变量,只能通过实例存取。 8 public int x; 9 } 10 // 在类B中使用类A中的变量 11 public class B 12 { 13 public void SomeMethod() 14 { 15 //存取A.Count,无需实例化 16 A.Count = 100; 17 Console.WriteLine(A.Count); 18 //存取A中的实例变量x,必须先实例化A,然后才能存取 19 A a = new A(); 20 a.x = 200; 21 Console.WriteLine(a.x); 22 } 23 }
请特别注意“类变量”和“实例变量”的差异!
(2)如果两个类有继承关系,存取基类中变量的方法如下
1 public class A 2 { 3 private int x; 4 protected int y; 5 public int z; 6 //…… 7 } 8 9 public class B : A 10 { 11 public void SomeMethod() 12 { 13 //base.x是错误的!因为在基类中x是private 14 base.y = 100; 15 base.z = 200; 16 Console.WriteLine("{0}, {1}", base.y, base.z); 17 } 18 }