<?xml version="1.0" encoding="utf-8"?>
<Type Name="IListSource" FullName="System.ComponentModel.IListSource">
  <TypeSignature Language="C#" Maintainer="auto" Value="public interface IListSource" />
  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IListSource" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.ComponentModel.MergableProperty(false)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>You typically use this interface to return a list that can be bound to a data source, from an object that does not implement <see cref="T:System.Collections.IList" /> itself.</para>
      <para>Binding to data can occur at either run time or in a designer, but there are rules for each. At run time, you can bind to data in any of the following: </para>
      <list type="bullet">
        <item>
          <para>
            <see cref="T:System.Array" /> </para>
        </item>
        <item>
          <para>Implementer of <see cref="T:System.Collections.IList" />, provided the implementer has a strongly typed <see cref="P:System.Collections.IList.Item(System.Int32)" /> property (that is, the <see cref="T:System.Type" /> is anything but <see cref="T:System.Object" />). You can accomplish this by making the default implementation of <see cref="P:System.Collections.IList.Item(System.Int32)" /> private. If you want to create an <see cref="T:System.Collections.IList" /> that follows the rules of a strongly typed collection, you should derive from <see cref="T:System.Collections.CollectionBase" />.</para>
        </item>
        <item>
          <para>Implementer of <see cref="T:System.ComponentModel.ITypedList" />.</para>
        </item>
      </list>
      <para>In a designer, you can initialize binding to <see cref="T:System.ComponentModel.Component" /> objects by following the same rules.</para>
      <block subset="none" type="note">
        <para>Implementers of <see cref="T:System.ComponentModel.IListSource" /> can return an <see cref="T:System.Collections.IList" /> that contains a collection of <see cref="T:System.Collections.IList" /> objects.</para>
      </block>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides functionality to an object to return a list that can be bound to a data source.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="ContainsListCollection">
      <MemberSignature Language="C#" Value="public bool ContainsListCollection { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool ContainsListCollection" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'bool'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Using this property in <see cref="T:System.Data.DataSet" /> returns true because the <see cref="T:System.Data.DataSet" /> class contains a collection of collections. Using this property in <see cref="T:System.Data.DataTable" /> returns false because the <see cref="T:System.Data.DataTable" /> class contains a collection of objects.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the collection is a collection of <see cref="T:System.Collections.IList" /> objects.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="GetList">
      <MemberSignature Language="C#" Value="public System.Collections.IList GetList ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.IList GetList() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.IList</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns an <see cref="T:System.Collections.IList" /> that can be bound to a data source from an object that does not implement an <see cref="T:System.Collections.IList" /> itself.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Collections.IList" /> that can be bound to a data source from the object.</para>
        </returns>
      </Docs>
    </Member>
  </Members>
</Type>