阅读这篇文章,我认为自动属性适用于 .NET Framework 3.0,但一些同事认为这不是真的。他们是正确的吗?
5 回答
自动实现的属性根本不依赖于框架。它们只是语言的一部分。如果您使用的是支持 C# 3 和更高版本的编译器(并且您没有显式设置语言版本),那么您会很好,即使是针对 framework 2.0。
请参阅我关于 C# 和 .NET 版本(需要更新)的文章,了解有关在针对 3.5 之前的框架版本(C# 3 首次附带的框架版本)时使用 C# 3 功能的信息。
它是语言的一部分,而不是框架。它是在 C# 3.0 中引入的。
它在 C# 3.0 和更高版本中受支持。
.NET 框架 3.0 是对基类库的扩展,而不是其他任何东西。包括的核心语言没有变化。
C# 3.0 与 .NET 3.5 一起发布并包含自动属性。
对于 .NET 的两个版本,CLR 保持不变,因此使用 C# 3.0 或 2.0 编译器编译的任何代码都可以在相同的运行时上运行,因此您可以在针对运行时 2.0 版和 v3.0 时使用自动属性框架,只要您使用的编译器具有特定的语言功能。即 C# 3.0+
但是,如果您使用特定于 .NET 3.5 的库并针对安装了 .NET 3.0 的计算机,则需要确保这些库在您安装应用程序的计算机上可用。
不,根据 Habib 的链接 ( http://msdn.microsoft.com/en-us/library/bb384054.aspx ),在 .NET 3.0 中是可能的 - 默认情况下(并且几乎总是)在定位时使用 C# 3.0 .NET 3.0,根据 Jon 在http://csharpindepth.com/Articles/Chapter1/Versions.aspx的链接。
不过我同意,没有必要在问答网站上问这个问题。您(或任何人)确实很容易发现。