马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

关于自动属性生成的私有字段

[复制链接]
查看5082 | 回复2 | 2015-7-29 13:32:44 | 显示全部楼层 |阅读模式

[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 还是其它原因?
ibcadmin | 2015-7-31 09:04:26 | 显示全部楼层
..命名空间对不对
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
stud3x | 2015-8-4 10:45:05 | 显示全部楼层
类的声明和调用都在同一命名空间下,命名空间应该没问题。
谢谢回复,虽然问题没搞透,但对自动属性及其自动生成的匿名字段已经搞清楚了。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则