public string Money
{
set
{
Money = value;
}
get
{
return Money;
}
}
编译是没有问题的,但是逻辑上有问题???但是不知道问题在什么地方??请高手指点!!!谢谢

解决方案 »

  1.   

    private object m_money;public string Money
    {
    set
    {
    m_money= value;
    }
    get
    {
    return m_money;
    }
    }
      

  2.   

    private string money=string.Empty;
    public string Money
    {
        set
        {
            money=value;
        }
        get
        {
             return money;
        }
    }
      

  3.   

    这是一个典型的递归错误, 会导致堆栈溢出! 
    因为在Money内部又调用自己!
      

  4.   

    一般是先定义一个局部的变量:private string money;
    public streing Money
    {
      get { return money; }
      set { money = value; }
    }
      

  5.   

    这样会产生递归调用至堆栈溢出,
    每次为Money赋值,属性会自动调用其set语句,这样又调用Money=value,然后又执行set,又执行Money=value.....
    同理,每次获取Money的值的时候,属性也是调用其get语句,这时将不停的执行return vMoney语句,正解如楼上的,
      

  6.   

    你不能在一个属性中用属性的名字做为变量来使用.而要用一个私有的内部变量来做.
    你那么使用就成了循环调用Money当然就错了.
      

  7.   

    用一个private的内部变量来储存值就可以了
      

  8.   

    private object m_money;public string Money
    {
    set
    {
    m_money= value;
    }
    get
    {
    return m_money;
    }
    }正确
      

  9.   

    sanall(Sanall Cobain) ________正解!