Поделиться через


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 класс, могут использовать статические ListSourceHelper методы в собственных реализациях методов, определенных интерфейсом IListSource . Элементы управления источником данных, которые расширяются от класса, DataSourceControl наследуют эти реализации методов автоматически.

Методы

ContainsListCollection(IDataSource)

Показывает, содержит ли указанный элемент управления источником данных коллекцию объектов представления источника данных.

GetList(IDataSource)

Возвращает коллекцию IList объектов источника данных.

Применяется к

См. также раздел