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 dapat terikat ke sumber data.
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
- Turunan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara mengimplementasikan antarmuka IListSource. Komponen bernama EmployeeListSource mengekspos IList untuk pengikatan data dengan menerapkan GetList metode . Untuk daftar kode lengkap, lihat Cara: Menerapkan Antarmuka 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
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 waktu proses atau di perancang, tetapi ada aturan untuk masing-masing. Pada waktu proses, Anda dapat mengikat data dalam salah satu hal berikut:
Pelaksana dari IList, asalkan pelaksana memiliki properti yang sangat ditik Item[] (yaitu, Type adalah 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.
Note
Pelaksana IListSource dapat mengembalikan yang IList berisi kumpulan IList objek.
Properti
| Nama | Deskripsi |
|---|---|
| ContainsListCollection |
Mendapatkan nilai yang menunjukkan apakah koleksi adalah kumpulan IList objek. |
Metode
| Nama | Deskripsi |
|---|---|
| GetList() |
Mengembalikan yang IList dapat terikat ke sumber data dari objek yang tidak mengimplementasikan dirinya IList sendiri. |
Berlaku untuk
Lihat juga
- IListSource
- ITypedList
- BindingList<T>
- IBindingList
- CollectionBase
- Pengikatan Data dan Formulir Windows