ListSourceHelper 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在实现由 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 集合。 |