Vb.net 使用列表(接口)而不是集合不会';无法正确填充DataGridView

Vb.net 使用列表(接口)而不是集合不会';无法正确填充DataGridView,vb.net,generics,datagridview,interface,Vb.net,Generics,Datagridview,Interface,我有一个屏幕,可以显示三组数据,来自三个不同的类。但是,根据初始化时设置的模式,一次只能显示一个 当然,这三个类(到目前为止我只编写了一个)实现了一个接口(IExportSelectionStructure),该接口定义了它们的共享属性:Selected。这些类共享的其他属性不能放入接口中 屏幕上有以下代码: Private\u BaseStructure作为IExportStructure 私有数据集作为列表(IExportSelectionStructure) Public Sub New

我有一个屏幕,可以显示三组数据,来自三个不同的类。但是,根据初始化时设置的模式,一次只能显示一个

当然,这三个类(到目前为止我只编写了一个)实现了一个接口(
IExportSelectionStructure
),该接口定义了它们的共享属性:
Selected
。这些类共享的其他属性不能放入接口中

屏幕上有以下代码:

Private\u BaseStructure作为IExportStructure
私有数据集作为列表(IExportSelectionStructure)
Public Sub New(exportMode作为ExportRunMode)
'基本结构设置在此处
_DataSet=\u BaseStructure.GetDataSet(\u会话,\u设置)
使用ExportDataGridView
.AutoGenerateColumns=False
.Columns.AddRange(_BaseStructure.GenerateExporterColumns.ToArray)
.Datasource=\u数据集
以
端接头
我正在客户导出模式下运行。 此时,
\u DataSet
中有三个
ExportCustomerSelectionStructure
类,以及每个类中的预期数据

但是,当它被设置为gridview的数据源时,gridview会显示三条记录,但是列是空的,除了“Selected”列,它是一个
CheckBoxCell

在调试过程中,我尝试将
\u数据集
切换到
集合
,并获得了
IEExportStructure.GetDataSet
以返回一个
集合
-瞧,数据在屏幕上显示得非常好,但我不想使用
集合
,我想使用一个
列表(关于IExportSelectionStructure)
。我不能说界面更具体,我真的不想说得更一般

我做错了什么?我错过了什么明显的东西吗?

好吧,这是一个奇怪的例子

经过两天的努力,我意识到我必须根据屏幕模式将泛型列表转换回我正在使用的特定类,否则DataGridView不知道您正在使用的是哪类数据!因此,我的代码如下:

\u数据集=\u BaseStructure.GetDataSet(\u会话,\u设置)
选择Case\u ExportRunMode
Case ExportRunMode.Customers
ExportDataGridView.Datasource=\u DataSet.Cast(属于ExportCustomerSelectionStructure的)。ToList
“等等。。。
终局