作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在编译一些 C# 代码时,出现错误:
A new expression requires () or [] after type
我的代码如下:
request.AddExtension(new ClaimsRequest {
Country = DemandLevel.Request,
Email = DemandLevel.Request,
Gender = DemandLevel.Require,
PostalCode = DemandLevel.Require,
TimeZone = DemandLevel.Require,
});
我正在使用 ASP.NET 2.0。
您能帮忙解释一下为什么会出现这个错误吗?
最佳答案
您不能使用 object initializers (new T { Property = value }
) 除非您是为 C# 3.0 或更高版本编写的。
不幸的是,对于 C# 3.0 之前的版本,您需要执行以下操作:
ClaimsRequest cr = new ClaimsRequest();
cr.Country = DemandLevel.Request;
cr.Email = DemandLevel.Request;
cr.Gender = DemandLevel.Require;
cr.PostalCode = DemandLevel.Require;
cr.TimeZone = DemandLevel.Require;
request.AddExtension(cr);
A bit more about object initializers here.
判断您使用的 C# 版本的最简单方法是查看您使用的 Visual Studio 版本。 C# 3.0 与 Visual Studio 2008 捆绑在一起。
不过,您确实有一条“出路”。在 .NET 4.0 之前但在 .NET 2.0 之后,所有新的语言和框架功能实际上只是位于 CLR 2.0 版之上的托管库。这意味着如果您下载 C# 3.0+ 编译器(作为更高版本框架的一部分),您可以针对该编译器编译您的代码。 (这在 ASP.NET 环境中并非易事。)
关于c# - C# 中的对象初始值设定项导致编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8520974/
我想成为 Spark 纱客户(link)。是否需要安装hadoop?还是只安装 yarn 可以吗? (by this link) 最佳答案 No Spark不需要Hadoop即可运行。 Apache
我是一名优秀的程序员,十分优秀!