public class Card{
private readonly Suits suit;
private readonly Ranks rank;
public static bool operator == (Card card1, Card Card2){
return (card1.suit == Card2.suit) &&
(card1.rank == Card2.rank);
} }
刚刚开始学C#,看到书上的这个例子,为什么在这里静态成员可以访问类的私有变量?
我知道这个问题很幼稚,可是在静态重载==函数里能访问类的私有变量感到很困惑,假设调用如下:Card card1 = new Card();
Card card2 = new Card();
Console.WriteLine("{0}", card1 == card2);
那位高人给解释一下它怎么理解?
private的访问级别就是在类内部可以访问,方法只要在类内部,都是可以访问的
其实要理解这个private访问级别很简单啊,只要是在类内部,都可以访问,出了类的范围就不可以,比如:class A
{
private int a1;
public void Test(A a, B b)
{
//这里可以访问a.a1,但不能访问b.b1
}
}class B
{
private int b1;
public void Test(A a, B b)
{
//这里可以访问b.b1,但不能访问a.a1
}
}