之前有人看过这个例外,谷歌没有关于例外的单一帖子。 引发错误的代码是一个简单的添加。
Items.Add(item);
System.TypeLoadException: Bad flags on delegate constructor.
at System.Windows.Forms.ListView.Sort()
at System.Windows.Forms.ListView.InsertItems(Int32 displayIndex, ListViewItem[] items, Boolean checkHosting)
at System.Windows.Forms.ListView.ListViewNativeItemCollection.Add(ListViewItem value)
at System.Windows.Forms.ListView.ListViewItemCollection.Add(ListViewItem value)
答案 0 :(得分:1)
原因是我今天早上发现的System.Windows.Form v2.0错误(在System.Windows.Form v4.0中已修复)。
对我来说,当我的代码在托管进程关闭时向Item
添加ListBox
时发生了这种情况。私有实例字段ListBox.listItemsArray
为空,这会激发NullReferenceException
。我不知道为什么ListBox.listItemsArray
为空,但我猜它与句柄创建问题有关。
对我来说,解决方法很简单,因为try/catch
足够了,因为无论如何这个过程都在关闭。您可以像我一样使用反编译反射器功能来解决问题:
答案 1 :(得分:0)
我可以就如何解决内部异常提供一般性建议。使用名为Reflector的工具(google it)并进入方法System.Windows.Forms.ListView.Sort()
并尝试了解导致异常的条件。这对我帮助很多次。
答案 2 :(得分:0)
我认为这是一个搜索错误号80131506的情况。我找到了一些参考文献:
如果您的应用程序是使用NET 2和ASP.NET编写的,但更重要的是在用户配置文件下运行,请查看此处:
我也遇到过服务器机器上的SQL Developer导致问题的人: SQL DEvloper issues
64位计算机shown here上也出现了这个问题。通常涉及访问超过4Gb的内存地址。