C# .net 2.0导致错误:';新类型需要()';-仅在.NET2.0中发生
下面的代码是在CodeDom中生成的。当我将目标框架设置为.NET4.0时,它工作正常-没有错误或警告。将目标framework设置为.net 2.0时,出现以下错误: CS1526:新表达式在类型后需要()或[] 这是怎么回事?!为什么突然切换到.NET2.0会引起错误 期待这里有任何想法 谢谢 埃文 .net 2.0不支持对象初始值设定项。那就行了C# .net 2.0导致错误:';新类型需要()';-仅在.NET2.0中发生,c#,console,codedom,C#,Console,Codedom,下面的代码是在CodeDom中生成的。当我将目标框架设置为.NET4.0时,它工作正常-没有错误或警告。将目标framework设置为.net 2.0时,出现以下错误: CS1526:新表达式在类型后需要()或[] 这是怎么回事?!为什么突然切换到.NET2.0会引起错误 期待这里有任何想法 谢谢 埃文 .net 2.0不支持对象初始值设定项。那就行了 test soVar; soVar = new test(); soVar.foo = 0x10007; .net 2.0不支持对象初始值设
test soVar;
soVar = new test();
soVar.foo = 0x10007;
.net 2.0不支持对象初始值设定项。那就行了
test soVar;
soVar = new test();
soVar.foo = 0x10007;
我正在运行Visual Studio 2010,没有遇到您描述的问题 我创建了一个以.Net Framework 2.0为目标的项目,该程序编译:
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
[StructLayout(LayoutKind.Sequential)]
struct test
{
public uint foo;
}
class Program
{
static void Main(string[] args)
{
test soVar;
soVar = new test { foo = 0x10007 };
}
}
}
也许您是在使用C#2.0(例如Visual Studio 2005),而不是.Net 2.0
要解决此问题,请使用Bala的解决方案(不要使用对象初始值设定项)。我正在运行Visual Studio 2010,没有遇到您描述的问题 我创建了一个以.Net Framework 2.0为目标的项目,该程序编译:
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
[StructLayout(LayoutKind.Sequential)]
struct test
{
public uint foo;
}
class Program
{
static void Main(string[] args)
{
test soVar;
soVar = new test { foo = 0x10007 };
}
}
}
也许您是在使用C#2.0(例如Visual Studio 2005),而不是.Net 2.0
要解决这个问题,请使用Bala的解决方案(不要使用对象初始值设定项)。可能的重复不是重复-我已经读过这个问题了。你能更具体一点吗?你说的“.NET2.0”是指C#2.0吗?C#3.0在.net 2.0上运行,您使用的是C#3功能。可能的重复不是重复-我已经读过这个问题。您能更具体一点吗?你说的“.NET2.0”是指C#2.0吗?C#3.0在.NET2.0上运行,您正在使用C#3功能..NET2.0确实支持初始值设定项,因为C#3是在.NET2.0上构建的。我相信这是一个C#2对C#3的问题..NET2.0确实支持初始值设定项,因为C#3是基于.NET2.0构建的。我相信这是一个C#2对C#3的问题。我想你在这里了解了一些重要的事情-我们可以聊聊吗?我想你在这里了解了一些重要的事情-我们可以聊聊吗?