问题如下:
为什么会出现这样的异常错误?为什么属性这样写会可能出现无限死循环状态?
下面是出错代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _201660728_6._10
{
///
/// 自定义类
///
class Myclass1
{
private int x = 0;
private int y = 0;
///
///加数
///
public int X
{
get { return X; }
set { X = value; }
}
public int Y
{
get { return Y; }
set { Y = value; }
}
/// <summary>
/// 求和
/// </summary>
public int Add1()
{
return X + Y;
}
}
///<summary>
///继承MyClass1
///</summary>
class Myclass2 : Myclass1
{
private int z = 0;
///<summary>
///又定义了一个被加数
///</summary>
public int Z
{
get { return Z; }
set { Z = value; }
}
///<summary>
///求和
///</summary>
///<returns>加法运算和</returns>
public int Add2()
{
return X + Y + Z;
}
}
class Program
{
static void Main(string[] args)
{
Myclass1 myclass1 = new Myclass1();
Myclass2 myclass2 = new Myclass2();
myclass1.X = 3;
myclass1.Y = 4;
myclass2.X = 5;
myclass2.Y = 6;
myclass2.Z = 7;
Console.WriteLine("Myclass1类:{0}", myclass1.Add1());
Console.WriteLine("Myclass2调用Myclass1的代码:{0}", myclass2.Add1());
Console.WriteLine("Myclass2类:{0}", myclass2.Add2());
Console.ReadLine();
}
}
}