CodeDom中生成以下代码.当我将目标框架设置为.net 4.0时,它可以正常工作 - 没有错误或警告.当我将目标框架设置为.net 2.0时,我收到以下错误:
CS1526:新类型表达式需要()或[]
test soVar;
soVar = new test { foo = 0x10007 }; // Error occurs on this line
[StructLayout(LayoutKind.Sequential)]
struct test
{
public uint foo;
}
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?!为什么切换到.net 2.0会突然引发错误?
期待这里的任何想法.
谢谢,
埃文
test soVar;
soVar = new test { foo = 0x10007 }; // Error occurs on this line
Run Code Online (Sandbox Code Playgroud)
.net 2.0不支持对象初始值设定项.它必须这样做
test soVar;
soVar = new test();
soVar.foo = 0x10007;
Run Code Online (Sandbox Code Playgroud)