刚学c#,构造函数和属性问题,望高手解答,谢谢

snowshine1985 2012-10-12 10:37:13
实例化后调用构造函数,但是age字段想要利用属性判断,但是好像不走属性,调用好构造函数就返回了,所以age总是返回0,不知道怎么才能调用属性呢

namespace ConsoleApplication4
{
class Class1
{
private string name;
private int age;
public Class1()
{
}
public Class1(string name,int age)
{
this.name = name;
this.age=this.AgeProp; 知道此句有问题
}
public string NameProp
{
get
{
return this.name;
}
}
public int AgeProp
{
get
{
return this.age;
}
set
{
if (value > 0 && value < 150)
{
this.age = value;
}
else
{
throw new Exception("age must be 0 between 150");
}
}
}


}
}

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Class1("a", 30).AgeProp);
Console.ReadKey();
}
}
}
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowshine1985 2012-10-12
  • 打赏
  • 举报
回复
已经自己百度看懂了,还是谢谢了
threenewbee 2012-10-12
  • 打赏
  • 举报
回复
什么乱七八糟的,你的概念都不对。
snowshine1985 2012-10-12
  • 打赏
  • 举报
回复
谢谢LS,但是只是在构造函数中初始化字段啊,还是没有用属性判断初始化的值把
threenewbee 2012-10-12
  • 打赏
  • 举报
回复
public string NameProp
{
get
{
return this.name;
}
set
{
this.name = value;
}

}
this.age=this.AgeProp;
=>
this.age=age;
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

谢谢LS,但是只是在构造函数中初始化字段啊,还是没有用属性判断初始化的值把
[/Quote]

public Class1(string name,int age)
{
this.name = name;
//this.age=this.AgeProp; 知道此句有问题
this.AgeProp = age; //这样便会走到AgeProp的set块了
}

110,926

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧