VS2008&C#3.5语言特色系列[视频]:自动属性(Automatic Properties)
2008-04-20 10:21
465 查看
VS2008通过一个叫“自动属性(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访问器定义不同的访问修饰符,同样的,在自动属性中,你也可以这样做,如下所示:
[align=left] VS2008中的“代码段”的prop已经重写为对自动属性的定义!如果你想在get或者set访问器中写一些代码,进行一些逻辑判断之类的话,那么自动属性就无法帮你的忙了,你只能去写相应的传统属性![/align]
public string MichaelFeng
...{
get;
protected set;
}
[align=left][/align]
[align=left][/align]
[align=left]视频下载:[/align]
[align=left]C#3.5语言特色系列:自动属性(Automatic Properties)[/align]
[align=left]http://download.csdn.net/source/405997[/align]
相关文章推荐
- VS2008&C#3.5语言特色系列[视频]:隐式类型的局部变量(Implicitly Typed Local Variables)
- VS2008&C#3.5语言特色系列[视频]:扩展方法(Extension Methods)
- VS2008&C#3.5语言特色系列[视频]:部分方法(Partial Methods)
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Ext
- 新的C#语言特性:自动属性(Automatic Properties)
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Ext
- C# 3.0 的自动属性(Automatic Properties)
- C# 3.0 的自动属性(Automatic Properties)
- C# 3.0 的自动属性(Automatic Properties)
- C#3.0新特性系列:自动属性(Automatic Properties)
- C# 3.0 的自动属性(Automatic Properties)
- C# 3.0 的自动属性(Automatic Properties)
- C# 3.0 的自动属性(Automatic Properties)
- C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C# 3.0 的自动属性(Automatic Properties)
- Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器