2.在PropertyTester类的Main方法中,创建了新名为propHold的PropertyHolder类的对象。
propHold对象在实例化时,调用了带参数的PropertyHolder构造函数。在本例中,参数值为5,这对propHold 对象的someProperty域的值进行了初始化。
3.因为PropertyHolder 类的SomeProperty属性是只读的,所以没有其他的方法来设置someProperty域的值。
如果你插入了"propHold.SomeProperty = 7"语句到程序清单中,该程序编译将不会通过,因为SomeProperty是只读属性。在Console.WriteLine 方法中使用SomeProperty属性时,程序执行正常。这是因为该方法调用了SomeProperty属性的get访问操作,这是个只读操作。
| 4.清单 10-4. 只写属性: WriteOnlyProperty.cs |
| using System; public class PropertyHolder { private int someProperty = 0; public int SomeProperty { set { someProperty = value; Console.WriteLine("someProperty is equal to {0}", someProperty); } } } public class PropertyTester { public static int Main(string[] args) { PropertyHolder propHold = new PropertyHolder(); propHold.SomeProperty = 5; return 0; } } |
| 说明 |