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)

C#3.5引入自动属性,简化属性定义过程。它允许开发者避免手动声明私有成员变量及编写get/set逻辑,由编译器自动生成。此特性增强了代码的简洁性和灵活性。
2740

被折叠的 条评论
为什么被折叠?



