vb.net my.settings arraylist不是对象的实例

时间:2012-08-21 01:00:07

标签: vb.net arraylist

If My.Settings.Sup1 Is Nothing Then
        My.Settings.Sup1 = New Collections.ArrayList
        My.Settings.Sup1.Add(0)' array index can't be negative or less than 0
        My.Settings.Sup1.Add(0)
        My.Settings.Sup1.Add(0)
        My.Settings.Sup1.Add(0)
    End If

为什么我会在注释行中得到这个异常,上面的代码是否有什么问题

我尝试插入并为当前索引分配一个值,但我仍然得到异常

2 个答案:

答案 0 :(得分:1)

我在项目属性→类型System.Collections.ArrayList的设置选项卡中添加了用户设置,它按预期工作。不确定你的问题是什么,你的代码看起来很好,我会仔细检查你的Type并确保它是正确的。

enter image description here


enter image description here

答案 1 :(得分:0)

在WPF项目中执行此操作。我无法退出如何在我的应用程序设置下找到数组列表,所以我使用了System.Collection.Specialized.StringCollection。 [右键]“我的项目”,转到“设置”,然后在其中添加Sup1作为System.Collection.Specialized.StringCollection。将值留空。

在调试器中,它遍历下面的所有行,没有例外。

    Public Sub New()
    'assuming sup1 is supposed to be an System.Collection.Specialized.StringCollection as set in Project Properties
            If My.Settings.Sup1 Is Nothing Then
                ' -- replaced w string collection -- My.Settings.Sup1 = New Collections.ArrayList
                My.Settings.Sup1 = New System.Collections.Specialized.StringCollection
                My.Settings.Sup1.Add(0) ' array index can't be negative or less than 0
                My.Settings.Sup1.Add(0)
                My.Settings.Sup1.Add(0)
                My.Settings.Sup1.Add(0)
            End If
    End Sub