У меня есть много bindingsource в моей winform, и я хочу динамически изменять источник данных моего gridview ,, поэтому я хочу получить bindingSource по его имени.Я нашел следующий код, чтобы найти все bindingSource из моей winform,
имя означает, что свойство привязки nameSource name На картинке это имя "bsSL070101"
введите описание изображения здесь
private IEnumerable<Component> EnumerateComponents()
{
return from field in GetType().GetFields(
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
where typeof(Component).IsAssignableFrom(field.FieldType)
let component = (Component)field.GetValue(this)
where component != null
where component.ToString().Contains("Windows.Forms.BindingSource")
select component;
}
После того, как я получил свой BindingSourceList, я хочу отфильтровать одного из них по имени, но я не знаю, как это сделать, пожалуйста, помогите мне, спасибо ~
IEnumerable<Component> BindingSourceList = EnumerateComponents();
//I wonder find a bindingSource by name, but it doesn't work
BindingSource bb = BindingSourceList.find(a=>a.name=="bsSL070101");