为什么我的自动实现属性可以在 ASP.NET 2.0 中运行?

发布于 2025-01-08 08:22:20 字数 353 浏览 0 评论 0原文

我在 ASP.NET Web 应用程序的 C# 源文件中使用自动实现的属性语法:

public int IdUser { get; set; }
...
this.IdUser = 1;

该项目的目标框架.NET Framework 2.0。它可以在仅安装 ASP.NET 2.0 的 IIS 服务器上编译并似乎可以正常运行。我使用Visual Studio 2010进行开发和编译。

我知道这个语法是 .NET 3 附带的。
我是否错过了 VS 中某处的设置?在 IIS/ASP.NET 2.0 服务器上部署网站时会遇到麻烦吗?

I'm using the auto-implemented properties syntax in the C# source files of my ASP.NET Web Application:

public int IdUser { get; set; }
...
this.IdUser = 1;

The Target framework of the project is .NET Framework 2.0. It compile and seems to run properly on a IIS Server with only ASP.NET 2.0 installed. I use Visual Studio 2010 to develop and compile.

I understood this syntax came with .NET 3.
Did I miss a setting somewhere in VS ? Can I expect trouble deploying the website on a IIS/ASP.NET 2.0 server ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心碎的声音 2025-01-15 08:22:20

自动实现的属性是在 .NET 3.0 中引入的,但向后兼容 2.0。这就是为什么你可以在 2.0 框架上运行你的代码。基本上,它只是一个语法糖,编译器实际上在幕后为您生成一个字段。

Auto-implemented properties were introduced in .NET 3.0 but are backwards compatible with 2.0. That's why you can run your code on 2.0 framework. Basically, it's just a syntactic sugar and the compiler actually generates a field for you behind the scenes.

千と千尋 2025-01-15 08:22:20

自动实现的属性适用于 .NET 2.0,但您无法在 Visual Studio 2005 中编译代码。
有一个 3.0 功能列表及其与 2.0 的兼容性

http://csharpindepth.com/Articles/Chapter1 /版本.aspx

Automatically implemented properties works in .NET 2.0, but you won't be able to compile code in Visual Studio 2005.
There is a list of 3.0 features and their compatibility with 2.0

http://csharpindepth.com/Articles/Chapter1/Versions.aspx

甲如呢乙后呢 2025-01-15 08:22:20

如果您使用的是 Web 应用程序或预编译站点,而不是 Visual Studio“网站”,则只能在仅具有 .NET 2.0 的服务器上运行 .NET 3.0/3.5 功能,因为后者是在服务器上编译的,其中前者由 Visual Studio 编译。

You can only run .NET 3.0/3.5 features on a server that has just .NET 2.0 if you're using a web application or a precompiled site, rather than a Visual Studio "web site," since the latter is compiled on the server, where the former are compiled by Visual Studio.

离旧人 2025-01-15 08:22:20

正如@Jakub 所说,它是向后兼容的。例如,您还可以使用隐式声明的变量 (var i = 1; //i is int),尽管它们也仅在 C#3.0 中引入!

As @Jakub said, it is backwards compatible. For example you can also use implicitly declared variables (var i = 1; //i is int), though they were also only introduced in C#3.0!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文