同事问到C#中的属性(Property)怎么理解?我说“属性就是对私有字段进行读取。”事后分析,其实属性还是值得研究的,首先属性是类、结构、接口的命名成员,它提供了通过访问器读、写或者计算私有字段值的灵活机制。举个例子:通过User类来记录用户注册信息。
 1同事问到C#中的属性(Property)怎么理解?using System; 
 2同事问到C#中的属性(Property)怎么理解?class User 
 3
此时如果用户输入的性别为其他的,比如“猪”,哈哈,是不是一样可以通过编译器了?解决方法是:
 1同事问到C#中的属性(Property)怎么理解?using System; 
 2同事问到C#中的属性(Property)怎么理解?class User 
 3
问题解决:但是值得注意的是name、sex还是public属性,依然可以修改,给name、sex设置为public,破坏了类的封装,存在潜在的危险。应该设置为private.这样就需要用到属性的知识去声明,读取这两个字段。代码如下:
 1同事问到C#中的属性(Property)怎么理解?using System; 
 2同事问到C#中的属性(Property)怎么理解?class User 
 3
从运行结果上看,把“无为”改成了“WuWei”,并且zm.Sex="天"没有对性别做修改。
注意:属性(Property)的调用跟类的字段的调用方法一样,赋值用等号。读取跟类的字段的读取方法一样。值得注意的是:private string name; public string Name;这样在C#中没有问题,但是如果在一个工程文件中存在多种语言,比如VB.NET.那么就会出现问题,个人建议把字段名称前面加一个标志符,比如:u_name、U_sex.这样就方便很多。

相关文章:

  • 2022-01-15
  • 2021-12-12
  • 2021-10-29
  • 2021-06-09
  • 2021-12-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2021-07-18
相关资源
相似解决方案