分配不同类型的对象

时间:2010-07-27 10:35:50

标签: vb.net

我是VB.Net的新手,我有点困惑为什么这行在VB中有效:

DataGridView1.DataSource = ds.Tables("Customerslist")

DataSource的类型为Object,而Tables(“Customerslist”)的类型为DataTable。我如何知道可以为Datasource属性分配哪些类型的对象?

2 个答案:

答案 0 :(得分:2)

DataTable派生自Object,因此可以分配给任何Object变量。

来自MSDN(DataSource):

  

DataGridView类支持标准的Windows窗体数据绑定模型。这意味着数据源可以是实现以下接口之一的任何类型:

     
      
  • IList接口,包括一维数组。
  •   
  • IListSource接口,例如DataTable和DataSet类。
  •   
  • IBindingList接口,例如BindingList类。
  •   
  • IBindingListView接口,例如BindingSource类。
  •   

答案 1 :(得分:1)

在.NET中,所有类最终都来自object,因此类型object的字段/属性可用于存储对任何内容的引用。

当您需要存储可能是许多可能相关类型之一的引用时,这非常有用。它确实意味着当你使用该引用时,你需要检查它的确是什么类型。