C# property
奇怪的问题:public class EtDir {
private String idDir;
public String idEtDir
{
get { return idDir; }
set { idDir = value; }
}
}
当我用 EtDir aDir =new EtDir();
aDir.idEtDir = "1"; 的时候没有错误。
当我把class 改成
public class EtDir {
public String idEtDir
{
get { return idEtDir; }
set { idEtDir = value; }
}
}
当我用 EtDir aDir =new EtDir();
aDir.idEtDir = "1"; 的时候总是出错, why??? 高手 public class EtDir {
public String idEtDir
{
get; set;
}
}
:lol :lol 原帖由 woodheadz 于 16-11-2010 13:11 发表 http://www.freeoz.org/ibbs/images/common/back.gif
public class EtDir {
public String idEtDir
{
get; set;
}
}
:lol :lol
server 版本低,都不支持这个 更奇怪的是,下面的class 工作的好好的
public class Event{
public String idArticle{
get { return idArticle; }
set { idArticle = value; }
}
public String created{
get { return created; }
set { created = value; }
}
public String title{
get { return title; }
set { title = value; }
}
public String teaser{
get { return teaser; }
set { teaser = value; }
}
public String body{
get { return body; }
set { body = value; }
}
public String filename{
get { return filename; }
set { filename = value; }
}
} 难道不会死循环么?
你call set idEtDir, 但是 set idEtDir又调用 set idEtDir.... 原帖由 lol 于 16-11-2010 14:07 发表 http://www.freeoz.org/ibbs/images/common/back.gif
难道不会死循环么?
你call set idEtDir, 但是 set idEtDir又调用 set idEtDir....
哪来的死循环??? 原帖由 lufumin1832 于 16-11-2010 14:14 发表 http://www.freeoz.org/ibbs/images/common/back.gif
哪来的死循环???
public class EtDir {
public String idEtDir
{
get { return idEtDir; }
set { idEtDir = value; }
}
} 原帖由 lol 于 16-11-2010 14:16 发表 http://www.freeoz.org/ibbs/images/common/back.gif
public class EtDir {
public String idEtDir
{
get { return idEtDir; }
set { idEtDir = value; }
}
}
这不是死循环,这是一个简化的格式。 原帖由 lufumin1832 于 16-11-2010 12:42 发表 http://www.freeoz.org/ibbs/images/common/back.gif
奇怪的问题:
public class EtDir {
private String idDir;
public String idEtDir
{
get { return idDir; }
set { idDir = value; }
}
}
当我用 EtDir aDir =new E ...
啥错误信息? 原帖由 pengruijun 于 16-11-2010 15:57 发表 http://www.freeoz.org/ibbs/images/common/back.gif
啥错误信息?
server 直接crash 了:L :L 原帖由 lufumin1832 于 16-11-2010 16:03 发表 http://www.freeoz.org/ibbs/images/common/back.gif
server 直接crash 了:L :L
那就是上面有人说的, 死循环了。 stack overflow 了。
你放个breakpoint 在 set 那里, 应该是一直在那里自己call 自己了。
另: 有这种简化写法吗? 原帖由 pengruijun 于 16-11-2010 16:15 发表 http://www.freeoz.org/ibbs/images/common/back.gif
那就是上面有人说的, 死循环了。 stack overflow 了。
你放个breakpoint 在 set 那里, 应该是一直在那里自己call 自己了。
另: 有这种简化写法吗?
你问的我有点糊涂了。
我记得有。如果没有那我的event class为什么能工作呢? 靠,貌似真没有这种简化写法,我自创的:L :L :L
等我看看我的event的class 原帖由 lufumin1832 于 16-11-2010 15:42 发表 http://www.freeoz.org/ibbs/images/common/back.gif
这不是死循环,这是一个简化的格式。
不是这样简化, 你的property不停的call itself. sorry guys!
我的错误,events class从未被调用过。。。。。。。。。。。
我太愚蠢了。
话说回来c#这种封包也太愚蠢了。 原帖由 lol 于 16-11-2010 16:30 发表 http://www.freeoz.org/ibbs/images/common/back.gif
不是这样简化, 你的property不停的call itself.
是的啊,
还得非再declair不同名字的property.
C#,我鄙视你 原帖由 lufumin1832 于 16-11-2010 16:33 发表 http://www.freeoz.org/ibbs/images/common/back.gif
是的啊,
还得非再declair不同名字的property.
C#,我鄙视你
property 实际上是method, 帮助封装 private field. 所以要不同的名字。 death loop. if you use VS 2008and .net , you still can use Auto Property. 原帖由 lufumin1832 于 16-11-2010 16:33 发表 http://freeoz.org/ibbs/images/common/back.gif
是的啊,
还得非再declair不同名字的property.
C#,我鄙视你
我觉得在这点上C#没什么问题。
很多Porperty内部可能是有包含逻辑的,如果提供了类似你前面的那种简化实现,那么程序员怎么样才能访问到那个单纯不带逻辑的数据域呢?
不想多写代码的话,可以用VS自带的重构工具中encapsulate property功能把成员变量封装为属性
[ 本帖最后由 woodheadz 于 16-11-2010 20:25 编辑 ] 其实这种简化就很好
public class EtDir {
public String idEtDir
{
get; set;
}
}
本来我是用这个的,可惜server不支持,我也不知道自己怎么就自创了那个简化的:lol :lol :lol
页:
[1]