Прочитать на английском

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


IListSource Интерфейс

Определение

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

public interface IListSource
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public interface IListSource
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public interface IListSource
Производный
Атрибуты

Примеры

В следующем примере кода показано, как реализовать интерфейс IListSource. Компонент с именем EmployeeListSource предоставляет IList для привязки данных путем реализации метода GetList. Полный список кода см. в разделе Практическое руководство. Реализация интерфейса IListSource.

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
    }
}

Комментарии

Этот интерфейс обычно используется для возврата списка, который может быть привязан к источнику данных, из объекта, который не реализует IList себя.

Привязка к данным может выполняться во время выполнения или в конструкторе, но для каждого из них существуют правила. Во время выполнения можно выполнить привязку к данным в любом из следующих способов:

  • Array

  • Реализующий объект при условии IList, что он имеет строго типизированное Item[] свойство (то есть является любым, Type кроме Object). Это можно сделать, сделав реализацию по умолчанию закрытой Item[] . Если вы хотите создать объект , IList который соответствует правилам строго типизированной коллекции, следует наследовать от CollectionBase.

  • Реализутель ITypedList.

В конструкторе можно инициализировать привязку к Component объектам, следуя тем же правилам.

Примечание

Реализующие IListSource объекты могут возвращать IList объект , содержащий коллекцию IList объектов .

Свойства

ContainsListCollection

Возвращает значение, указывающее, является ли коллекция коллекцией объектов IList.

Методы

GetList()

Возвращает объект IList, который может быть связан с источником данных из объекта, самостоятельно не реализующего интерфейс IList.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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