В моем графическом интерфейсе есть выпадающий список клиентов. С каждым клиентом связан класс, содержащий методы, связанные с этим клиентом (например, загрузка формата их счета и т. Д.). Каждый из классов заказчика реализует интерфейс «ICustomer», но содержание методов различается.
У вызывающего класса есть свойство ICustomer
- я хотел бы установить, чтобы это был класс, представленный выбранным значением в раскрывающемся списке. Нечто похожее на этот псевдокод:
public interface ICustomer
{
int GetInvoice();
}
и
Class Caller()
{
public ICustomer Customer { get; set; }
public void Choose(string customerName)
{
Customer = //??? ["Get class where name == customerName"];
var foo = Customer.GetInvoice();
}
}
Из-за моего очень ограниченного понимания и запутанного поиска в интернете, я думаю, что мне нужно использовать рефлексию для достижения этой цели, но я до сих пор не смог вернуть определенный интерфейс, установленный во время выполнения, из интерфейса. Как мне добиться этого?