IListSource Interfaz
Definición
Proporciona funcionalidad a un objeto para que devuelva una lista que puede enlazarse a un origen de datos.Provides functionality to an object to return a list that can be bound to a data source.
public interface class IListSource
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public interface IListSource
type IListSource = interface
Public Interface IListSource
- Derivado
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo IListSource implementar la interfaz.The following code example demonstrates how to implement the IListSource interface. Un componente denominado EmployeeListSource
expone un IList para el enlace de datos implementando GetList el método.A component named EmployeeListSource
exposes an IList for data binding by implementing the GetList method. Para obtener una lista de código completa , consulte Cómo: Implemente la interfazIListSource.For a full code listing, see How to: Implement the IListSource Interface.
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace IListSourceCS
{
public class EmployeeListSource : Component, IListSource
{
public EmployeeListSource() {}
public EmployeeListSource(IContainer container)
{
container.Add(this);
}
#region IListSource Members
bool IListSource.ContainsListCollection
{
get { return false; }
}
System.Collections.IList IListSource.GetList()
{
BindingList<Employee> ble = new BindingList<Employee>();
if (!this.DesignMode)
{
ble.Add(new Employee("Aaberg, Jesper", 26000000));
ble.Add(new Employee("Cajhen, Janko", 19600000));
ble.Add(new Employee("Furse, Kari", 19000000));
ble.Add(new Employee("Langhorn, Carl", 16000000));
ble.Add(new Employee("Todorov, Teodor", 15700000));
ble.Add(new Employee("Verebélyi, Ágnes", 15700000));
}
return ble;
}
#endregion
}
}
Imports System.ComponentModel
Public Class EmployeeListSource
Inherits Component
Implements IListSource
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
#Region "IListSource Members"
Public ReadOnly Property ContainsListCollection() As Boolean Implements System.ComponentModel.IListSource.ContainsListCollection
Get
Return False
End Get
End Property
Public Function GetList() As System.Collections.IList Implements System.ComponentModel.IListSource.GetList
Dim ble As New BindingList(Of Employee)
If Not Me.DesignMode Then
ble.Add(New Employee("Aaberg, Jesper", 26000000))
ble.Add(New Employee("Cajhen, Janko", 19600000))
ble.Add(New Employee("Furse, Kari", 19000000))
ble.Add(New Employee("Langhorn, Carl", 16000000))
ble.Add(New Employee("Todorov, Teodor", 15700000))
ble.Add(New Employee("Verebélyi, Ágnes", 15700000))
End If
Return ble
End Function
#End Region
End Class
Comentarios
Normalmente, esta interfaz se utiliza para devolver una lista que se puede enlazar a un origen de datos, a partir de un IList objeto que no se implementa a sí mismo.You typically use this interface to return a list that can be bound to a data source, from an object that does not implement IList itself.
El enlace a los datos puede producirse en tiempo de ejecución o en un diseñador, pero hay reglas para cada uno.Binding to data can occur at either run time or in a designer, but there are rules for each. En tiempo de ejecución, puede enlazar a datos en cualquiera de los siguientes elementos:At run time, you can bind to data in any of the following:
Implementador de IList, siempre que el implementador tenga una Item[Int32] propiedad fuertemente tipada Type (es decir, es cualquier cosa Objectpero).Implementer of IList, provided the implementer has a strongly typed Item[Int32] property (that is, the Type is anything but Object). Para ello, realice la implementación predeterminada de Item[Int32] Private.You can accomplish this by making the default implementation of Item[Int32] private. Si desea crear un IList que siga las reglas de una colección fuertemente tipada, debe derivar de. CollectionBaseIf you want to create an IList that follows the rules of a strongly typed collection, you should derive from CollectionBase.
Implementador de ITypedList.Implementer of ITypedList.
En un diseñador, puede inicializar el enlace Component a objetos siguiendo las mismas reglas.In a designer, you can initialize binding to Component objects by following the same rules.
Nota
Los implementadores IListSource de pueden devolver IList un objeto que contiene una IList colección de objetos.Implementers of IListSource can return an IList that contains a collection of IList objects.
Propiedades
ContainsListCollection |
Obtiene un valor que indica si la colección es una colección de objetos IList.Gets a value indicating whether the collection is a collection of IList objects. |
Métodos
GetList() |
Devuelve un IList que se puede enlazar a un origen de datos de un objeto que no implementa un IList por sí mismo.Returns an IList that can be bound to a data source from an object that does not implement an IList itself. |