ListSourceHelper 类

定义

在实现由 IListSource 接口定义的成员时,由数据源控件使用。 此类不能被继承。

public ref class ListSourceHelper abstract sealed
public static class ListSourceHelper
type ListSourceHelper = class
Public Class ListSourceHelper
继承
ListSourceHelper

示例

下面的代码示例演示了实现 IListSource 方法的数据源类的设计模式。

#region Implementation of IDataSource

public virtual DataSourceView GetView(string viewName) {
    if (null == view) {
        view = new SomeDataSourceView(this);
    }
    return view;
}

public virtual ICollection GetViewNames() {
    ArrayList al = new ArrayList(1);
    al.Add(GetView(String.Empty).Name);
    return al as ICollection;
}

event EventHandler IDataSource.DataSourceChanged {
    add {
        ((IDataSource)this).DataSourceChanged += value;
    }
    remove {
        ((IDataSource)this).DataSourceChanged -= value;
    }
}

#endregion
#region Implementation of IListSource

bool IListSource.ContainsListCollection {
    get {
        return ListSourceHelper.ContainsListCollection(this);
    }
}

IList IListSource.GetList() {
    return ListSourceHelper.GetList(this);
}

#endregion
#Region "Implementation of IDataSource"

Public Overridable Function GetView(viewName As String) As DataSourceView Implements IDataSource.GetView
   If view Is Nothing Then
      view = New SomeDataSourceView(Me)
   End If
   Return view
End Function 'GetView


Public Overridable Function GetViewNames() As ICollection Implements IDataSource.GetViewNames
   Dim al As New ArrayList(1)
   al.Add(GetView(String.Empty).Name)
   Return CType( al, ICollection)
End Function 'GetViewNames

Event DataSourceChanged As EventHandler Implements IDataSource.DataSourceChanged

#End Region

#Region "Implementation of IListSource"

ReadOnly Property ContainsListCollection() As Boolean Implements IListSource.ContainsListCollection
   Get
      Return ListSourceHelper.ContainsListCollection(Me)
   End Get
End Property


Function GetList() As IList Implements IListSource.GetList
   Return ListSourceHelper.GetList(Me)
End Function 'IListSource.GetList

#End Region

注解

ListSourceHelper 是一个实用工具类,用于通过数据源控件简化接口的 IListSource 实现。 实现 IDataSource 接口但不扩展类的DataSourceControl数据源控件可以在接口定义IListSource的方法的自己的实现中使用静态ListSourceHelper方法。 从 DataSourceControl 类扩展的数据源控件会自动继承这些方法实现。

方法

ContainsListCollection(IDataSource)

指示指定数据源控件是否包含数据源视图对象的集合。

GetList(IDataSource)

检索数据源对象的 IList 集合。

适用于

另请参阅