积极答复者
请问,现在实体类为什么不用字段,用属性呢

问题
答案
-
嗯,谢谢,但是作为实体类好像用不到这功能,只是简单的与数据库的字段对应
一般是用不着。某些很特殊的情况下可能需要对字段验证的。而且如果你用过EntityFramework(Code-First),发现属性还可以一些特殊的特性——例如
[Required] public string Name{get;set;}
总而言之,变量一般用于内部,都是private(除非是const变量),而属性作为变量的空开对外访问接口。- 已标记为答案 祥祥 2012年7月16日 7:04
全部回复
-
现在都用 public string Name {get; set;} 我看用字段也成嘛
一般我们说字段直接公布于众不是一个很好的编码方法——首先不是所有的变量客户端都要知道或者进行修改的,修改这个变量可能带来副作用;其次变量可以直接被赋值,然而赋值的“值”是否合法(合乎程序特有逻辑?!)是不可知的。不过属性可以判断——
public class A { private int num=0; public int Num { get { return num; } set { if(num<=0) throw new Exception(……); else num = value; } } }
-
嗯,谢谢,但是作为实体类好像用不到这功能,只是简单的与数据库的字段对应
一般是用不着。某些很特殊的情况下可能需要对字段验证的。而且如果你用过EntityFramework(Code-First),发现属性还可以一些特殊的特性——例如
[Required] public string Name{get;set;}
总而言之,变量一般用于内部,都是private(除非是const变量),而属性作为变量的空开对外访问接口。- 已标记为答案 祥祥 2012年7月16日 7:04