ListSourceHelper Class


Used by data source controls when implementing the members defined by the IListSource interface. This class cannot be inherited.

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


The following code example demonstrates the design pattern for a data source class that implements the IListSource methods.

#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);
    return al as ICollection;

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

#region Implementation of IListSource

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

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

#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)
   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
      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


The ListSourceHelper class is a utility class provided to simplify implementation of the IListSource interface by data source controls. Data source controls that implement the IDataSource interface but do not extend the DataSourceControl class can use the static ListSourceHelper methods in their own implementations of the methods defined by the IListSource interface. Data source controls that extend from the DataSourceControl class inherit these method implementations automatically.



Indicates whether the specified data source control contains a collection of data source view objects.


Retrieves an IList collection of data source objects.

Applies to

See also