你可以这样写
private string aaa;
  public string Aaa
  {
    get
    {
       return aaa;
     }
 }
这样外面就不能修改了你还可以这样写
private string aaa;
  public string Aaa
  {
    get
    {
      if(aaa == ""),return "Nothint";
       else return aaa;
      }

解决方案 »

  1.   

    因为属性是可以你来给它赋值的,如:Button.Enable = false;
    也可以你来得到属性的值:如:bool blFlag = Button.Enable;
    get
        {
           return aaa;
         }
    就是你引用属性的时候返回值;
    set
         {
              aaa=value;
          }
    就是你赋值给属性的时候得到值;
      

  2.   

    我直接写:
    public string Aaa;
    在调用时;
      temp tt=new temp();
      tt.Aaa="adfa";
      otheretmep=tt;
      也直接可应用呀?
     还要属性?
      

  3.   

    属性比public变量实现的功能多
      

  4.   

    属性是所谓的智能字段,如果你用过MFC,JAVA你就应该知道,属性实际相当于JAVA中的get_..,set_..方法,属性实际是方法,但是又以字段的形式出现,属性不是必须的,但有了属性,使客户端的表现更佳,客户只需把它当作字段来用.
      

  5.   

    其实属性比public类型的字段好处在于
    相当于在赋值取值环节中加了一个中间的存取层
    get set 方法
    你可以在这个层次上对存取值进行限制
    而且这个限制对于用户是透明的
    在使用的时候在外部看来其行为和public 类型的字段是一样的
      

  6.   

    直接写的叫 字段field
    属性是可以控制读写的
    private string _abc;
    public string abc{get{return _abc;}}
    这就是一个只读属性
      

  7.   

    C#增加属性这种东西就是为了更好的进行数据封装,并且多了很多有用的功能,如果你不考虑这些完全可以用public 代替!
      

  8.   

    你可以在get和set块内写一些验证之类的东西,如果你只是这样用,没有必要用属性