财产和公共领域有什么区别

时间:2014-01-12 17:54:39

标签: c# properties

我已阅读有关属性的msdn文章。他们展示了财产的例子:

// Declare a Name property of type string:
    public string Name
    {
        get 
        {
           return myName; 
        }
        set 
        {
           myName = value; 
        }
    }

然后他们说:

  

声明属性后,可以像使用它们一样使用它们   班级的领域。

如果他们刚刚离开会有什么不同:

public string Name;

如果我有一个字段:private string name并且想要只有吸气剂?我应该宣布

public string GetName(){return name;}或者应该以某种方式使用这些属性?


有人可以告诉我这个例子有什么问题:

 private int age;
 public void setAge(int age){
   if(age < 100) 
   this.age = age;
}

1 个答案:

答案 0 :(得分:1)

这是来自Clr Via C#

字段作为对象状态一部分的数据变量。字段由其名称和类型标识。

属性对于调用者,此成员看起来像一个字段。但对于类型实现者来说,它看起来像一个方法(或两个)。属性允许实现者在访问值之前验证输入参数和对象状态和/或仅在必要时计算值。  它们还允许该类型的用户具有简化的语法。最后,属性允许您创建只读或只写“字段”。