Здравствуйте, Ronaldo 9, Вы писали:
R9>Можно так:
R9>R9>Source src = new Source();
R9>SourceProvider prv = new FileSourceProvider();
R9>prv.Fill(src);
R9>foreach (Product p in src.Products) {
R9> ....
R9>}
R9>
Выскажу свое сугубо личное мнение (возможно, противоречащее "тру" ООП): не нравится, когда программируют в терминах "последовательности инструкций по изменению внутренних состояний объектов" — особенно в случае, когда этого можно легко избежать.
Плюс по коду возникают вопросы: 1) что будет если Fill вызвать 2 раза? 3) а если у разных провайдеров, но для одного соурса? 3) а если не вызвать ни разу?