IListSource インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ ソースにバインドできるリストを返す機能をオブジェクトに提供します。
public interface class IListSource
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public interface IListSource
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
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
type IListSource = interface
type IListSource = interface
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
type IListSource = interface
Public Interface IListSource
- 派生
- 属性
例
次のコード例は、IListSource インターフェイスを実装する方法を示しています。
EmployeeListSourceという名前のコンポーネントは、GetList メソッドを実装することによって、データ バインディングのIListを公開します。 完全なコード一覧については、「 方法: IListSource インターフェイスを実装する」を参照してください。
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 => false;
System.Collections.IList IListSource.GetList()
{
BindingList<Employee> ble = DesignMode
? []
: [
new("Aaberg, Jesper", 26000000),
new ("Aaberg, Jesper", 26000000),
new ("Cajhen, Janko", 19600000),
new ("Furse, Kari", 19000000),
new ("Langhorn, Carl", 16000000),
new ("Todorov, Teodor", 15700000),
new ("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
注釈
通常、このインターフェイスを使用して、データ ソースにバインドできるリストを、 IList 自体を実装していないオブジェクトから返します。
データへのバインドは、実行時またはデザイナーで行うことができますが、それぞれにルールがあります。 実行時に、次のいずれかのデータにバインドできます。
IListの実装者。実装者が厳密に型指定されたItem[]プロパティを持っている場合 (つまり、TypeはObject以外です)。 これは、 Item[] の既定の実装をプライベートにすることで実現できます。 厳密に型指定されたコレクションの規則に従う IList を作成する場合は、 CollectionBaseから派生する必要があります。
ITypedListの実装者。
デザイナーでは、同じ規則に従って、 Component オブジェクトへのバインドを初期化できます。
Note
IListSourceの実装者は、IList オブジェクトのコレクションを含むIListを返すことができます。
プロパティ
| 名前 | 説明 |
|---|---|
| ContainsListCollection |
コレクションが IList オブジェクトのコレクションであるかどうかを示す値を取得します。 |
メソッド
| 名前 | 説明 |
|---|---|
| GetList() |