这段代码如何编译? operator int 中的以下代码可以访问 MyValue 类的私有(private)变量?为什么?
class Program
{
static void Main(string[] args)
{
Myvalue my = new Myvalue(100);
Console.WriteLine(my + 100);
Console.Read();
}
}
public class Myvalue
{
private int _myvalue;
public Myvalue(int value)
{
_myvalue = value;
}
public static implicit operator int(Myvalue v)
{
return v._myvalue;
}
}
最佳答案
因为在类中,所以可以访问类中的私有(private)变量。就像您的实例公共(public)方法一样。它也以相反的方式工作。您可以从实例成员访问私有(private)静态成员以创建单态模式。
关于c# - 在静态方法中访问参数的私有(private)成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631124/