Где я могу создать свою LibSerial?
Зарегистрируйте его в своем загрузчике и позвольте контейнеру создать его экземпляр.Переопределите метод RegisterTypes
класса PrismApplication
в вашем App.xaml.cs
и зарегистрируйте тип LibSerial
:
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton<ILibSerial, LibSerial>();
}
Затем вы можете внедрить модели представления с помощью ILibSerial
(что в этомcase - это интерфейс, который реализует класс LibSerial
) и подключает его события и обращается к его членам как обычно:
public class ViewModel
{
public ViewModel(ILibSerial libSerial)
{
libSeriel.MessageReceived += ...;
}
}
Контейнер позаботится о создании экземпляра и при условии, что вы зарегистрируете тип с помощьюRegisterSingleton
метод в загрузчике, будет создан только один экземпляр, который будет использоваться всеми моделями представления.