在MonoTouch下,下面的代码行编译,但生成一个InvalidProgramException:
var bytes = new byte[,]{};System.InvalidProgramException
Invalid IL code in Foo: IL_0038: newobj 0x0a000012
但是,以下操作在运行时不会失败:
var bytes = new byte[,]{{}};我不介意使用第二个表达式。但是,第一个有什么问题吗?如果是这样的话,它不应该编译失败吗?
发布于 2012-07-25 18:12:52
这看起来像是C#编译器在MonoTouch中的一个错误,它不正确地编译表达式。
如果我尝试使用更新的C#编译器(来自Mono2.12),表达式将被正确编译,生成的程序也能工作。
当前的计划是,MonoTouch将在今年秋天的某个时候开始使用Mono2.12,如果它是对您来说是一个阻止程序,您可以通过打开错误报告来查看一个修复程序是否可以将其转换为早期版本的MonoTouch。
https://stackoverflow.com/questions/11654865
复制相似问题