首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

很简单关于 C# 的属性的有关问题, 高手来看看

2013-10-27 
很简单关于 C# 的属性的问题, 高手来看看namespace CSCnsl{public class Property{}public class User{pub

很简单关于 C# 的属性的问题, 高手来看看
namespace CSCnsl
{
    public class Property
    {

    }
  public class User
  {                 
        public Property P
        {                
            get { return P; }
            set  { P = value; }
        }            
  }
  class Program
  {
      static void Main(string[] args)
      {
        User  user = new User ();
          //只要一给user的p属性赋值就抛下面异常,我不知道怎么改,才能不抛异常
        user.P =null; //这里总是 StactOverFlow 但我不知道为什么,请修改下代码,让他能正常运行
      }
  }
}
[解决办法]


  public class User
  {          
       private Property _P
        public Property P
        {                
            get { return _P; }
            set  { _P = value; }
        }            
  }

[解决办法]
你之前的代码,属性在得到赋值的指令后不停的给自己赋值。。
自然就死循环了。
[解决办法]
引用:
请帮修改下代码,顺便讲下为什么抛异常

你没发现那个P的get方法里面,返回了自己,自己再调用自己的get方法,无限自我调用,没有停止的时候了。
[解决办法]
public Property P
        {                
            get;
            set;
        }     
这样就可以了

热点排行