可搜索的不同数据类型列表

时间:2013-10-30 13:48:31

标签: vb.net generics

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

这是我试图实现的目标:

我有一个列表unsupportedTypes As List(Of Type),我填写了我要排除的类型:

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

这符合,但在上面的行中抛出一个空引用异常,我认为这是有道理的,因为没有任何 thing 放入列表中。但是,试图创建一种颜色

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

甚至不会编译。

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

1 个答案:

答案 0 :(得分: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),您是否可能忘记初始化它?