public struct Color
  {
    public static Color Black { get; }
  }比如Black属性,怎么没有声明属性的主题呢?自动生成访问器,不是get和set都要写的吗?

解决方案 »

  1.   

    自动生成访问器,不一定get,set都写。
      

  2.   

    谁告诉你get和set都要写的?
    XXX  { get; }//只读
      

  3.   

    属性没有声明主体的时候,不是get和set都要写的吗?
      

  4.   


    +1只声明get 这个你就不能通过程序进行赋值了,
    只能取。
      

  5.   

    那为什么下面的代码报错: class Program
        {
            public int age { get; }
            static void Main(string[] args)
            {
               
            }
        }
      

  6.   

    不是自动生成访问器那个不是平时写的{get;set;}这种自动属性。那是有主体的,只是都封装好了
     public static Color Black { get { return XXX;}}
      

  7.   

    没太看明白楼主想问什么,这个及时只读属性啊,所以只写get 方法,如果通过 reflector反编译看他源码,就是楼主这样写的,标准的只读属性。
      

  8.   

    你反编译Drawing.dll,下面有这个方法的主题的    public static Color Black
        {
            get
            {
                return new Color(KnownColor.Black);
            }
        }
      

  9.   

    黑色,你只需要访问即可,不可能让你去改Balck的值,所以只有一个get,只读的
      

  10.   

    这个报错是因为Program是静态类,不能在静态类中声明实例成员。
      

  11.   

    说错了,自动生成的属性必须同时实现get与set访问器没错。
      

  12.   

    get set 可写可不写,看你的属性是什么了