我是VB.Net的新手,我有点困惑为什么这行在VB中有效:
DataGridView1.DataSource = ds.Tables("Customerslist")
DataSource的类型为Object,而Tables(“Customerslist”)的类型为DataTable。我如何知道可以为Datasource属性分配哪些类型的对象?
答案 0 :(得分:2)
DataTable
派生自Object
,因此可以分配给任何Object
变量。
来自MSDN(DataSource):
DataGridView类支持标准的Windows窗体数据绑定模型。这意味着数据源可以是实现以下接口之一的任何类型:
- IList接口,包括一维数组。
- IListSource接口,例如DataTable和DataSet类。
- IBindingList接口,例如BindingList类。
- IBindingListView接口,例如BindingSource类。
答案 1 :(得分:1)
在.NET中,所有类最终都来自object
,因此类型object
的字段/属性可用于存储对任何内容的引用。
当您需要存储可能是许多可能相关类型之一的引用时,这非常有用。它确实意味着当你使用该引用时,你需要检查它的确是什么类型。