IListSource IListSource IListSource IListSource Interface

Definizione

Consente di fornire a un oggetto le funzionalità per restituire un elenco che possa essere associato a un'origine dati.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
Derivato
Attributi

Esempi

Esempio di codice seguente viene illustrato come implementare il IListSource interfaccia.The following code example demonstrates how to implement the IListSource interface. Un componente denominato EmployeeListSource espone un' IList per il data binding mediante l'implementazione di GetList (metodo).A component named EmployeeListSource exposes an IList for data binding by implementing the GetList method. Per un listato di codice completo, vedere come: Implementare l'interfaccia 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

Commenti

Questa interfaccia viene generalmente utilizzata per restituire un elenco che può essere associato a un'origine dati, da un oggetto che non implementa IList stesso.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.

Associazione ai dati può essere eseguita in fase di esecuzione o in una finestra di progettazione, ma esistono regole per ognuno.Binding to data can occur at either run time or in a designer, but there are rules for each. In fase di esecuzione, è possibile associare ai dati in una qualsiasi delle operazioni seguenti:At run time, you can bind to data in any of the following:

  • Array

  • Responsabile dell'implementazione di IList, a condizione che il responsabile dell'implementazione ha una classe fortemente tipizzata Item[Int32] proprietà (vale a dire, il Type è tutt'altro che Object).Implementer of IList, provided the implementer has a strongly typed Item[Int32] property (that is, the Type is anything but Object). È possibile farlo, rendendo l'implementazione predefinita di Item[Int32] privato.You can accomplish this by making the default implementation of Item[Int32] private. Se si desidera creare un IList che segue le regole di una raccolta fortemente tipizzata, è necessario derivare CollectionBase.If you want to create an IList that follows the rules of a strongly typed collection, you should derive from CollectionBase.

  • Responsabile dell'implementazione di ITypedList.Implementer of ITypedList.

Nella finestra di progettazione, è possibile inizializzare l'associazione a Component oggetti seguendo le stesse regole.In a designer, you can initialize binding to Component objects by following the same rules.

Nota

Responsabili dell'implementazione IListSource può restituire un IList che contiene una raccolta di IList oggetti.Implementers of IListSource can return an IList that contains a collection of IList objects.

Proprietà

ContainsListCollection ContainsListCollection ContainsListCollection ContainsListCollection

Ottiene un valore che indica se l'insieme è costituito da oggetti IList.Gets a value indicating whether the collection is a collection of IList objects.

Metodi

GetList() GetList() GetList() GetList()

Restituisce un oggetto IList che può essere associato a un'origine dati da un oggetto che non implementa un'interfaccia IList.Returns an IList that can be bound to a data source from an object that does not implement an IList itself.

Si applica a

Vedi anche