Autofac в приложении Winforms
Пишу прилодение на WinForms, используя Autofac. Есть форма:
public partial class CreatePurchaseForm : DevExpress.XtraEditors.XtraForm
{
List<Book> _selectedBooksList;
ISaleBookService _saleBookService;
public delegate CreatePurchaseForm CreatPurchase(List<Book> list
, ISaleBookService saleBookService);
public CreatePurchaseForm(List<Book> list,ISaleBookService saleBookService)
{
InitializeComponent();
_selectedBooksList = list;
_saleBookService= saleBookService;
}
}
Её резолвлю из главной формы по нажатию кнопки
private void btnCreatePurchase_Click(object sender, EventArgs e)
{
var selectedRows = GetBookListView.GetSelectedRows();
var listOfPuchaseBooks = new List<Book>();
foreach (var row in selectedRows)
{
if(GetBookListView.GetRow(row) is not Book bookToPurchase)
{
continue;
}
listOfPuchaseBooks.Add(bookToPurchase);
}
using (var form = _lifetimeScope.Resolve<Owned<CreatePurchaseForm>>())
{
form.Value.ShowDialog();
}
}
При этом "разрезолвливается" сервис через интерфейс ISaleBookService. Но мне нужно в вызываемую форму передать список listOfPurchaseBooks. Никак не могу взять в толк как мне его передать в форму?
Источник: Stack Overflow на русском