Трудно сказать, где именно вы застряли, но вы должны быть в состоянии начать что-то вроде этого:
public static void Bind<T>(ComboBox combo, List<T> Models, string Name, string Value)
{
var binding = new BindingSource();
binding.DataSource = Models;
combo.DataSource = binding.DataSource;
combo.DisplayMember = Name;
combo.ValueMember = Value;
}
Если предположить, что у меня есть winforms, у меня есть кнопки, каждая из которых имеет событие, подобное:
private void button2_Click(object sender, EventArgs e)
{
List<State> states = new List<State>();
using (var dc = new CustomersEntities())
{
states = dc.States.ToList();
}
Bind<State>(comboBox1, states, "StateName", "Id");
}
Это не идеальный шаблон, но для начала он будет работать идеально.
Что вас может заинтересовать, это что-то вроде универсального репозитория и создания универсальной библиотеки вокруг него.так что у вас могут быть методы, которые больше похожи на:
public static void GetCities()
{
comboBoxCities.Bind<City>(repository.AllCities(), x => x.Name, x.Id);
}
, но это на самом деле не рассматривается в вопросе или два.