IListSource IListSource IListSource IListSource Interface

Definition

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
Derived
Attributes

Examples

En el ejemplo de código siguiente se muestra cómo implementar el IListSource interfaz.The following code example demonstrates how to implement the IListSource interface. Un componente denominado EmployeeListSource expone un IList para el enlace de datos mediante la implementación de la GetList método.A component named EmployeeListSource exposes an IList for data binding by implementing the GetList method. Para obtener una lista de código completo, vea Cómo: implementar la interfaz IListSource.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

Remarks

Esta interfaz suele utilizarse para devolver una lista que se puede enlazar a un origen de datos de un objeto que no implementa IList propio.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.

Puede producir el enlace a datos en tiempo de ejecución o en un diseñador, pero existen 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 las siguientes acciones:At run time, you can bind to data in any of the following:

  • Array

  • Implementador de IList, siempre y cuando tenga un fuertemente tipado Item[Int32] propiedad (es decir, el Type es cualquier cosa menos Object).Implementer of IList, provided the implementer has a strongly typed Item[Int32] property (that is, the Type is anything but Object). Puede hacerlo mediante la realización de la implementación predeterminada de Item[Int32] privada.You can accomplish this by making the default implementation of Item[Int32] private. Si desea crear un IList que sigue las reglas de una colección fuertemente tipada, debe derivar de CollectionBase.If 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, se puede inicializar el enlace a Component objetos siguiendo las mismas reglas.In a designer, you can initialize binding to Component objects by following the same rules.

Nota

Los implementadores de IListSource puede devolver un IList que contiene una colección de IList objetos.Implementers of IListSource can return an IList that contains a collection of IList objects.

Properties

ContainsListCollection ContainsListCollection ContainsListCollection 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.

Methods

GetList() GetList() GetList() 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.

Applies to

See Also