tôi đang tạo ra một điều khiển mà nhận được trong nguồn dữ liệu một DataSet hoặc Danh sáchChuyển đổi IEnumerable trong Danh sách <T>
Làm thế nào tôi chuyển đổi một IEnumerable vào danh sách trong một sự kiện CreateChildControls?
protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
{
if (dataSource is System.Data.DataSet)
{
}
else if(dataSource is IList)
{
}
}
cảm ơn, cách tôi có thể lấy kiểu gốc và không đặt loại đối tượng ? – Pablogrind
Trong trường hợp kiểu đó luôn giống nhau, nó đơn giản như 'datasource.Cast(). ToList();' Trong trường hợp nó không có, bạn có vấn đề về thiết kế. Một giải pháp là cung cấp tất cả các loại mục trong bộ sưu tập của bạn một giao diện chung chứa tất cả các thành viên bạn cần trong phương thức người tiêu dùng 'CreateChildControls()', ví dụ: 'datasource.Cast () .ToList();' –
bitbonk
@bitbonk: Nếu mã của bạn nằm trong 'datasource is IList' thì nó sẽ là một danh sách. Không cần tạo danh sách, bạn chỉ có thể truyền tới danh sách. Sau đó, vấn đề 'định dạng ban đầu' không phải là vấn đề –