VS2008&C#3.5语言特色系列[视频]:自动属性(Automatic Properties)

C#3.5引入自动属性,简化属性定义过程。它允许开发者避免手动声明私有成员变量及编写get/set逻辑,由编译器自动生成。此特性增强了代码的简洁性和灵活性。
 
V S2008 通过一个叫“自动属性 (automatic properties) ”的语言特性提供了一个优雅的方式来使得你的编码更加简洁,同时还保持属性的灵活性。自动属性允许你避免手工声明一个私有成员变量以及编写 get/set 逻辑,取而代之的是,编译器会自动为你生成一个私有变量和默认的 get/set 操作。
标准的属性定义:
  
    public   class  MichaelFeng
    
{
        
private string name;
        
public string Name
        
{
            
get
            
{
                
return name;
            }

            
set
            
{
                name 
= value;
            }

        }

}

 
C#2008 中自动属性定义:
   
  public   class  MichaelFeng
    

        
public string Name
        

            
get
            
set
        }

    }

乍一看,和抽象属性很相像
  
  abstract   class  MichaelFeng 
    
{
        
public abstract string Name 
        

            
get
            
set
        }
 
    }

但是两者是完全不一样的!
编译器可以自动帮你生成隐含的私有字段,并填充 get set 访问器,而这一切你可以通过 ILDASM 了解其背后的内幕!
和传统的 C# 属性不同的是,你不能通过省略 get 或者 set 去定义一个只读或者只写的自动属性。
在传统 C# 属性中,你可以对 set 访问器和 get 访问器定义不同的访问修饰符,同样的,在自动属性中,你也可以这样做,如下所示:
           VS2008 中的“代码段”的 prop 已经重写为对自动属性的定义!如果你想在 get 或者 set 访问器中写一些代码,进行一些逻辑判断之类的话,那么自动属性就无法帮你的忙了,你只能去写相应的传统属性!
        public   string  MichaelFeng
        
{
            
get;
            
protected set;
        }

视频下载:
C#3.5语言特色系列:自动属性(Automatic Properties)
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值