0

我正在开发一个应用程序,该应用程序根据需要显示的值的数据类型向用户显示不同的自定义表单控件。因此,例如,布尔值显示为复选框。但是,有些类型我不想显示。由于窗体和控件是在运行时生成的,因此我需要构建一些逻辑来防止这些不受支持的类型出现。

这是我试图实现的目标:

我有一个列表unsupportedTypes As List(Of Type),其中包含要排除的类型:

unsupportedTypes.Add(GetType(System.Drawing.Color))
'more types removed for brevity

这符合要求,但在上面的行中引发了一个空引用异常,我认为这是有道理的,因为没有任何东西可以放入列表中。但是,尝试创建颜色

unsupportedTypes.Add(GetType(New System.Drawing.Color))

甚至不会编译。

如何构建可以搜索的不同数据类型的列表(或其他集合)?

4

1 回答 1

1

这在运行时编译和工作,所以我不太明白你的问题:

Dim unsupportedTypes As New List(Of Type)  ' New prevents a null reference exception
unsupportedTypes.Add(GetType(Drawing.Color))

既然你提到i have a list: unsupportedTypes As List(Of Type)了,是不是你忘了初始化呢?

于 2013-10-30T13:53:43.867 回答