属性是类、结构和接口的命名成员。它们提供了通过访问器读、写或计算私有字段值的灵活机制。
属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含。
请查阅 ms-help://MS.VSCC/MS.MSDNVS.2052/csref/html/vclrfUsingProperties.htm

解决方案 »

  1.   

    在这里是定义了一个属性Hits.
    set就是对这个属性赋值的时候执行的.
    比如
    class1 c = new class1();
    c.Hits = 5; 这时候就执行set里面的东西.
    不过你的好奇怪,一般都是写m_intHits = value; value是系统的保留字,这时候就是5.get就是读的时候执行的,比如
    int i = c.Hits
    这时候就执行get里面的东西.
      

  2.   

    是不是我定义类的时候每个属性,如果涉及到对这个属性的写和读的操作的时候,都要在类中为这个属性定义get和set一次呢?
      

  3.   

    其实我的意思是,既然能够通过已经定义过的m_intHits来给属性赋值和读取,为什么还要定义Hits呢?难道不是一样的吗?多定义一个Hits的好处在哪里?
      

  4.   

    举个例子,如果一个属性对象,使用的机会很少,而且构造会比较浪费资源,那么可以这样:...
    private TestClass _test;
    public TestClass
    {
       get
       {
          return _test==null?(_test=new TestClass()):_test;
       }
    }
    ...
    这样在第一次访问这个属性的时候才去构造对象,如果一直没有访问这个属性,那么这个对象就不需要构造。当然,这只是很简单的一个例子,你可以在Set和Get访问器中写很多代码,进行获取属性值和为属性赋值之前的操作,包括在赋值的时候检查值的有效性、或者在访问的时候记录一些其他信息等等。好处是很多的,而且这样你可以构建只读的属性,防止外部修改你不想让别人修改的字段。