.NET3.0 对象初始化器

      开始用3.0的特性了,感觉很多东西都不是想象中的那么好用。当中最郁闷的当属用Linq的更新数据了,不过今天想说说对象初始化器,呵呵。
      其实对象初始化器一个比较大的作用就是减少了代码的书写数量,把一些原本应该人做的事情交给了框架。
      例如:我们有个Person类   

    public class Person
    
{
        
public string Name getset; }
        
public string ID getset; }

        
public Person()
        
{
        }

    }
2.0的代码:
            Person firstPerson = new Person();
            firstPerson.Name 
= "FirstPeron";
            firstPerson.ID 
= "1";
3.0的代码:
new Person{Name="FirstPerson",ID="1"},
3.0Reflector的代码:
      Person类的Name属性:
public string Name
{
    [CompilerGenerated]
    
get
    
{
        
return this.<Name>k__BackingField;
    }

    [CompilerGenerated]
    
set
    
{
        
this.<Name>k__BackingField = value;
    }

}

 
      实例化Person的代码:
    Person <>g__initLocal1 = new Person();
    
<>g__initLocal1.Name = "FirstPerson";
    
<>g__initLocal1.ID = "1";

 
我们可以看到实际的代码量并没有减少。
posted @ 2007-10-14 17:53  镜涛  阅读(246)  评论(1编辑  收藏  举报
Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名孙镜涛(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言