以下代码的同事在尝试使用VS 2008编译时会抛出以下错误:
错误:
新类型表达式需要()或[]
码:
MyClass结构:
public class MyClass { public MyClass() {} public string Property1 { get; set; } public string Property2 { get; set; } }
示例源代码:
Listx = new List (); x.Add(new MyClass { Property1 = "MyValue", Property2 = "Another Value" });
它"适用于我的机器",但不是他的.知道为什么吗?
更新
他的目标是3.5 .NET框架
他正在使用System.Collections.Generics命名空间
MyClass对象确实有一个构造函数
更新1:
@ Funky81 - 您的示例和我的示例能够在我的PC上编译.
更新2:
示例中包含MyClass的模式
更新3:
@DK - 我让我的同事在他的应用程序中添加以下配置部分:
他收到了以下编译错误:无法识别的元素'providerOption'.
这是VS.2008中可用的唯一类似但不完全相同的错误:
编译器错误CS1526: 类型后,新表达式需要(),[] 或{}
请注意{}
错误消息中的那些,它们是c#3.0语法的一部分.这与框架版本无关,而与语言版本无关.
我敢打赌,不知何故使用了不同版本的编译器.
补充:这看起来像ASP.Net可能存在的问题.要检查的地方是.config文件,元素
configuration\system.codedom\compilers\compiler @language="c#..."
应该有