日期:2014-05-17  浏览次数:20815 次

请问,系统的Color结构
public struct Color
  {
    public static Color Black { get; }
  }

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

------解决方案--------------------
谁告诉你get和set都要写的?
XXX  { get; }//只读
------解决方案--------------------




引用:
引用:谁告诉你get和set都要写的?
XXX  { get; }//只读
属性没有声明主体的时候,不是get和set都要写的吗?


+1

只声明get 这个你就不能通过程序进行赋值了,
只能取。
------解决方案--------------------
引用:
谁告诉你get和set都要写的?
XXX  { get; }//只读

这是只读的
------解决方案--------------------
引用:
引用:谁告诉你get和set都要写的?
XXX  { get; }//只读
属性没有声明主体的时候,不是get和set都要写的吗?

不是自动生成访问器

引用:
引用:谁告诉你get和set都要写的?
XXX  { get; }//只读
属性没有声明主体的时候,不是get和set都要写的吗?

那个不是平时写的{get;set;}这种自动属性。那是有主体的,只是都封装好了
 public static Color Black { get { return XXX;}}
------解决方案--------------------
引用:
public struct Color
  {
    public static Color Black { get; }
  }

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

没太看明白楼主想问什么,这个及时只读属性啊,所以只写get 方法,如果通过 reflector反编译看他源码,就是楼主这样写的,标准的只读属性。
------解决方案--------------------
你反编译Drawing.dll,下面有这个方法的主题的

    public static Color Black
    {
        get
        {
            return new Color(KnownColor.Black);
        }
    }

------解决方案--------------------
黑色,你只需要访问即可,不可能让你去改Balck的值,所以只有一个get,只读的
------解决方案--------------------
说错了,自动生成的属性必须同时实现get与set访问器没错。
------解决方案--------------------
get set 可写可不写,看你的属性是什么了