[C#] 纯文本查看 复制代码 using System;
namespace ConsoleAMplication1
{
class AccessInstanceMember
{
private string d = "dValue";
public string E { get; set; } //自动属性
public void eChange(AccessInstanceMember other)
{
Console.WriteLine("d={0}", other.d); //此句证明可以访问other的私有字段
other.E = "_eValue"; //调用自动属性,创建私有字段 _e
Console.WriteLine("_e={0}", other.E); //用自动属性可以访问 _e 的值
Console.WriteLine("_e={0}", other._e);//报错“不包含_e”?
}
}
class Program
{ static void Main(string[] args)
{
AccessInstanceMember AIMTemp1 = new AccessInstanceMember();
AccessInstanceMember AIMTemp2 = new AccessInstanceMember();
AIMTemp2.eChange(AIMTemp1);
Console.ReadLine();
}
}
}
如上代码,
12行证明在方法eChange里可以访问对象other的私有字段,
13行通过自动属性为自动生成的私有字段_e赋值,
14行通过自动属性读取_e的值成功,
15行以12行的方式读取_e的值报错:“不包含_e”,为什么?是自动生成的私有字段名不是 _e 还是其它原因?
|