IListSource Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan fungsionalitas ke objek untuk mengembalikan daftar yang bisa terikat ke sumber data.
public interface class 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
type IListSource = interface
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
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
- Turunan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara mengimplementasikan IListSource antarmuka. Komponen bernama EmployeeListSource
mengekspos IList untuk pengikatan data dengan menerapkan GetList metode . Untuk daftar kode lengkap, lihat Cara: Menerapkan Antarmuka 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
}
}
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
Keterangan
Anda biasanya menggunakan antarmuka ini untuk mengembalikan daftar yang dapat terikat ke sumber data, dari objek yang tidak mengimplementasikan IList dirinya sendiri.
Pengikatan ke data dapat terjadi pada durasi atau dalam perancang, tetapi ada aturan untuk masing-masing. Pada durasi, Anda dapat mengikat data di salah satu hal berikut ini:
Pelaksana IList, asalkan pelaksana memiliki properti yang sangat ditik Item[] (yaitu, Type apa pun kecuali Object). Anda dapat menyelesaikan ini dengan membuat implementasi Item[] default privat. Jika Anda ingin membuat IList yang mengikuti aturan koleksi yang ditik dengan kuat, Anda harus berasal dari CollectionBase.
Pelaksana ITypedList.
Dalam perancang, Anda dapat menginisialisasi pengikatan ke Component objek dengan mengikuti aturan yang sama.
Catatan
Pelaksana IListSource dapat mengembalikan IList yang berisi kumpulan IList objek.
Properti
ContainsListCollection |
Mendapatkan nilai yang menunjukkan apakah koleksi adalah kumpulan IList objek. |
Metode
GetList() |
Mengembalikan yang IList dapat terikat ke sumber data dari objek yang tidak mengimplementasikan dirinya IList sendiri. |