我有以下课程:
public class FunctionList : IEnumerable<Function> {
public string Comments {get; set;}
public IEnumerator<Function> GetEnumerator() {
return ...;
}
IEnumerator IEnumerable.GetEnumerator() {
return this.GetEnumerator();
}
}
此类的对象用作WinForm中的Binding的数据源:
this.checkEdit1.DataBindings.Add(new Binding(nameof(this.checkEdit1.EditValue), functionList, nameof(functionList.Comments), false, DataSourceUpdateMode.OnPropertyChanged));
问题是,当dataSource
(functionList
)实现IEnumerable<>
时,绑定无法正常工作。当我删除此接口时,它正常工作。否则,我得到以下ArgumentException
:
Cannot bind to the property or column Comments on the DataSource.
Parameter name: dataMember
当dataSource
实施IEnumerable<>
时,我该怎么做才能使约束有效?
答案 0 :(得分:0)
IEnumerable
Windows窗体控件可以绑定到仅支持IEnumerable接口的数据源(如果它们通过a绑定) BindingSource组件。
https://docs.microsoft.com/en-us/dotnet/framework/winforms/data-sources-supported-by-windows-forms