C# 3.0 -自动属性实现

  • C# 3.0 - var 隐式类型声明
  • C# 3.0 -自动属性实现
  • C# 3.0 -对象初始化设置
  • C# 3.0 -集合初始化设置
  • C# 3.0 -匿名类型
  • C# 3.0 -扩展方法
  • C# 3.0 - partial 分部(类型)
  • C# 3.0 - Lambda
  • C# 3.0 - { get; set; } 默认值
  • C# 3.0 - { get; set; } 默认值 2
  • C# 3.0 - yield

看一段代码:

public class Document
{
    public string Title { get; set; }
    public string _content = "";
    public String Content
    {
        get
        {
            return _content;
        }
        set
        {
            if (value.Length <= 5000)
            {
                _content = value;
            }
            else
            {
                throw new ArgumentException();
            }
        }
    }
}

Content 属性就是 2.0 的属性实现方式,而 Title 则是 3.0 的属性实现方式,简洁了很多。

自动属性实现只有一点不能,那就是在 get、set 中,没有逻辑判断,如上 Content 中 set 的判断功能,在自动属性实现中就实现不了。

  • C# 3.0 - var 隐式类型声明
  • C# 3.0 -自动属性实现
  • C# 3.0 -对象初始化设置
  • C# 3.0 -集合初始化设置
  • C# 3.0 -匿名类型
  • C# 3.0 -扩展方法
  • C# 3.0 - partial 分部(类型)
  • C# 3.0 - Lambda
  • C# 3.0 - { get; set; } 默认值
  • C# 3.0 - { get; set; } 默认值 2
  • C# 3.0 - yield

你可能感兴趣的