自动实现的属性

时间:2015-06-16 10:31:16

标签: c# class properties

如果我用自动实现的属性重写以下代码,我理解我必须使用构造函数为变量分配初始值。

但覆盖方法会发生什么?当我删除它时,程序不会输出任何内容......

换句话说,如果我使用构造函数然后添加自动实现的属性,我就不能再使用rectangle来打印出widthheight。我可以吗?

using System;

namespace Rectangle_Solution
{
    public class Rectangle
    {
        private int width  = 5;
        private int height = 3;

        public int Width
        {
            get
            {
                return width;
            }
            set
            {
                width = value;
            }
        }

        public int Height
        {
            get
            { 
                return height;
            }
            set
            { 
                height = value;
            }
        }

        public override string ToString()
        {
            return "width = " + Width + ", height = " + Height;
        }

        public static void Main( string[] args )
        {
            Rectangle rectangle = new Rectangle();
            Console.WriteLine( "rectangle details - {0}", rectangle );

            rectangle.width   = 10;
            rectangle.height += 1;
            Console.WriteLine( "rectangle details - {0}", rectangle );
        }
    }
}

0 个答案:

没有答案