是否可以在VS.NET 2010中的数组初始值设定项中启用C#源代码格式化?
Elements =
{
// starting from here source code formatting does not work
new TextViewModel("PublicId")
{
Label = new LText("Fund Nr:", "de", "Fondsnummer"),
Watermark = new LText("Please enter fund number...", "de", "Bitte hier Fondsnummer erfassen...")
},
new CheckViewModel("Juristic")
{
Style = "Radio",
Default = true,
Label = new LText("Juristic Fund", "de", "Juristischer Fonds")
}
}
// starting from here source code formatting works again
我在工具 - >选项 - >文字编辑器 - > C#中错过了一些格式化选项吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
看起来这是VS.NET“功能”
答案 2 :(得分:0)
我相信你需要TextViewModel和CheckViewModel上的默认构造函数。
据我所知,这是唯一的方法.net可以做到。此外,我假设这两个对象继承自基类,并且您的数组与基类的类型相同。
否则创建的对象将是“var”类型。编译器会抛出一个拟合,因为数组在技术上也必须是“var”类型。
此外,传递给对象ctors的参数应该在属性中初始化,就像TextViewModel对象的Label和Watermark属性,以及CheckViewModel的Style,Default和Label一样。
答案 3 :(得分:0)
这看起来不像有效的C#。你在Elements =
之后错过了一个数组声明。它应该是这样的:
Elements = new ViewModelBase[] { /* ... */ };
修复后,格式化可能会开始正常运行。它适合我(但我正在使用ReSharper)。