C#自己写了一个类,但是在实例化对象时出现StackOverflowException错误

我用C#编程,自己写了一个类,内容如下:classMyClass1{publicstringName{get{returnName;}}}然后在使用的时候:MyClass... 我用C#编程,自己写了一个类,内容如下:
class MyClass1
{
public string Name
{
get
{
return Name;
}
}
}

然后在使用的时候:
MyClass1 ABCD = new MyClass1();
然后(lable1是一个标签控件)
lable1.Text = ABCD.Name;
调试的时候就报错,说“未处理的“System.StackOverflowException”类型的异常出现在 SSOSimulator.exe 中。”
出错的位置在get关键字这里,查看ABCD的状态提示:
“{当前线程处于堆栈溢出状态,因此无法计算表达式的值。}”
有谁知道如何解决?
环境是:VS2008+windows XP
有能解决的我再追加奖励
如图,我重现了一下这个错误,无论怎么都会出错,我这个属性是只读的,因此不需要SET,现在我就算加上SET也一样。另外我需要从外部读取这个属性,不能设为私有的。
Dedicatus545__说:你在属性里返回属性自身,那肯定造成无限循环了 然后堆栈溢出...
那GET部分应该怎么写呢?不好意思,好久没写了,忘记了,只是在MSDN上看了下例子。
展开
 我来答
Dedicatus545__
2009-06-07 · TA获得超过239个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:170万
展开全部
你在属性里返回属性自身,那肯定造成无限循环了 然后堆栈溢出...

private string name;

public string Name
{
get { return name; }
}
aini6699
2009-06-07 · TA获得超过3750个赞
知道小有建树答主
回答量:963
采纳率:100%
帮助的人:258万
展开全部
你是不是没有私有化Name啊。
private string Name="N/A";
你试试可以吗,还有你写没写set方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZeroJuer
2009-06-07
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
你要先定义属性(字段):private string Name="***";
然后在封装属性(字段):
public string Name
{
get { return name; }
}
因为你是封装属性(字段)!所以你要先定义属性(字段)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李静奕
2009-06-07 · TA获得超过114个赞
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
你只用咯啊get {},没有用set {}返回name的值哟!
你阿奎那用一下看行不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式