VS 2012使用项目类型编译时,WP 8.0如果未附加调试器,则以下代码将失败.
不知何故,如果未附加调试器,编译器优化会破坏内部代码Crash()- 请参阅代码中的注释.
在Lumia 1520(8.1)和Lumia 630(8.0)上测试.
有没有想过为什么会这样?
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
Button.Tap += (sender, args) => new A<B, string>(new B(), "string").Crash();
}
}
public class B
{
public void Foo<T>(T val) { }
}
public class A<T1, T2> where T1 : B
{
private T1 _t1;
private T2 _t2;
public A(T1 t1, T2 t2)
{
_t2 = t2;
_t1 = t1;
} …Run Code Online (Sandbox Code Playgroud)